ubuntu环境, laravel5.3版本, 尝试Passport功能, 取得用户实例去调用createToken方法时, 意外发现http报了500错误!
真想不明白,为啥会出现这个问题,然后查看createToken方法的代码,做了try catch
try { return Container::getInstance()->make(PersonalAccessTokenFactory::class)->make( $this->getKey(), $name, $scopes ); } catch (\Exception $exception) { echo $exception->getMessage(); }
然后重新跑了一下,这下子错误的结果知道了,竟然是项目目录下的storage的oauth-private.key和oauth-public.key 两个文件的权限问题. 原来key的文件必须要660或者600的权限,我给了777. 并且文件的归属者必须是fpm指定的user,在我本机电脑是www. 于是我给这两文件修改660权限并且归属者是www. 然后重新运行了一下.createToken可以正常使用