php dingo oauth2-server错误
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php dingo oauth2-server错误相关的知识,希望对你有一定的参考价值。
您好我正在使用这个好的php库来创建我自己的Oauth2服务器所以我试图将一些默认范围设置为授权请求,但我得到了这个错误,我正在寻找一个大约3天前的解决方案。
Fatal error: Uncaught exception 'BadMethodCallException' with message 'Method Mockery_0_Dingo_OAuth2_Storage_ScopeInterface::get() does not exist on this mock object'
这是我的PHP代码:
$server = new DingoOAuth2ServerAuthorization($storage);
$server->registerGrant(new DingoOAuth2GrantAuthorizationCode);
$request = SymfonyComponentHttpFoundationRequest::createFromGlobals();
$validator = new DingoOAuth2ScopeValidator($request, Mockery::mock('DingoOAuth2StorageScopeInterface'));
$validator->setDefaultScope(['accounts.profile.basic']);
$validator->requireScope();
$validator->validate(); // This line is what causes the error
$server->setScopeValidator($validator);
$payload = $server->validateAuthorizationRequest();
Github Dingo Oauth2-server:https://github.com/dingo/oauth2-server
答案
我使用以下方法解决了这个问题:$storage->createScopeStorage()
$request = SymfonyComponentHttpFoundationRequest::createFromGlobals();
$validator = new DingoOAuth2ScopeValidator($request, $storage->createScopeStorage());
$validator->setDefaultScope(['accounts.profile.basic']);
$validator->requireScope();
$server->setScopeValidator($validator);
$payload = $server->validateAuthorizationRequest();
以上是关于php dingo oauth2-server错误的主要内容,如果未能解决你的问题,请参考以下文章
Laravel Dingo Api - 如何从 API 控制器返回 JSON 格式的错误响应?