我正在使用oauth2-server-laravel包,我是oauth的新手。我正在尝试实现此库的Password Flow方法。我坚持如何给client_id和client_secret。
这是我的路线:
Route::post('oauth', function()
{
return AuthorizationServer::performAccessTokenFlow();
});
这给出了响应 -
{
"error": "invalid_request",
"error_description": "The user credentials were incorrect."
}
我从mysql插入了client_id和client_secret。也播种用户表。
那么,为什么这会显示错误?我究竟做错了什么?
答案 0 :(得分:0)
对于想要使用用户名而不是电子邮件的新手(这是其文档中的广告方法),请在oauth2.php中更改为以下内容:
'grant_types' => [
'password' => [
'class' => '\League\OAuth2\Server\Grant\PasswordGrant',
'callback' => function($username, $password) {
if( Auth::validate([
'name' => $username,
'password' => $password,
])){
$user = \App\User::where('name',$username)->first();
return $user->id;
} else {
return false;
}
},
'access_token_ttl' => 3600
]
]