我一直在盯着我,我想知道是否有其他人经历过这一点。我们使用Laravel 5.4 Passport来处理SSO。开始这个开发的开发人员一直在Linux机器上进行开发,因为我已经用Windows机器盒进行了开发,所以它不起作用。我在Github上挖掘了关于oauth和护照的问题并且没有看到任何东西。以下是摘要:
我们有一个父应用程序,可以为子应用程序创建访问令牌。我能够登录那个父母就好了。当我尝试去子部门时,我的父应用程序laravel日志中出现以下错误:
2017-11-09 15:24:00] local.ERROR: League\OAuth2\Server\Exception\OAuthServerException: The resource owner or authorization server denied the request. in I:\xampp\htdocs\parentApp\vendor\league\oauth2-server\src\Exception\OAuthServerException.php:168
Stack trace:
#0 I:\xampp\htdocs\parentApp\vendor\league\oauth2-
server\src\AuthorizationValidators\BearerTokenValidator.php(97)
我在陷阱被抛出的地方添加了一个日志:
} catch (\RuntimeException $exception) {
\Log::info(print_r($exception->getMessage(), true));
//JWR couldn't be parsed so return the request as is
throw OAuthServerException::accessDenied('Error while decoding to JSON');
}
这就是我得到的:
SQLSTATE[42S02]: Base table or view not found: 1146 Table 'subapplication.oauth_access_tokens' doesn't exist (SQL: select * from `oauth_access_tokens` where `oauth_access_tokens`.`id` = longkey limit 1)
它试图从子应用程序数据库中找到oauth_access_tokens。我们使用PHPStorm的调试器进行了一遍,似乎总是在查看父级的数据库。它确实找到了令牌但它永远不会进行身份验证。
有人碰到这个吗?我提前感谢任何帮助!
更新:在使用Xdebug之后,我想知道它是否是本地主机和cookie问题。我收到状态为200的请求但是Laravel尝试检查cookie并且没有cookie。