如何使用oauth2-server-laravel

时间:2014-09-30 18:10:05

标签: php laravel oauth

我正在使用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。也播种用户表。

那么,为什么这会显示错误?我究竟做错了什么?

1 个答案:

答案 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
   ]
]