私はDingo APIでLaravel 5.3を使用しています.LingvelのOAuth 2.0(別名Passport)をDingoの認証と連携させようとしています。LaravelのOAuth 2.0の設定はDingo APIです
私はhereを見つけconfig/api.php
でOAuth 2.0のプロバイダを、追加しました:
'auth' => [
'oauth' => function($app) {
$provider = new Dingo\Api\Auth\LeagueOAuth2Provider($app['oauth2.resource-server']);
$provider->setUserCallback(function($id) {
return User::find($id);
});
$provider->setClientCallback(function($id) {
return Client::find($id);
});
return $provider;
}
]
そして私は私のルート上にapi.auth
ミドルウェアを追加しました:
$api = app('Dingo\Api\Routing\Router');
$api->version('v2', function($api) {
# ...
$api->get('test', ['middleware' => 'api.auth', 'App\Http\Controllers\v2\[email protected]']);
});
とするときは、/api/test
を要求し、Iこのエラーのある HTTP応答を取得します。
Call to undefined method Closure::authenticate()
(トレースを含んで)完全なJSONレスポンスがhere
悲しいthe docsはかろうじてLaravelは、ドキュメントによると
を介してユーザを得ることができますか? – OverCoder
ええ、そう思うとうまくいくでしょう!! –
しかし、私はまだOAuth 2.0を介して認証したいのですが、その設定はOAuth 2.0を無効にします – OverCoder