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 格式的错误响应?

dingo 配置

php 仅处理自定义Dingo / API例外

php 检查当前请求是否适用于Dingo / API。

Laravel Dingo API 和中间件问题\\VerifyCsrfToken.php

php 使用Laravel Nova API防止Dingo API冲突