2014-09-30 62 views
3

我使用的是oauth2-server-laravel包,我是oauth的新手。我正在尝试执行此库的Password Flow方法。我被困在如何给client_id和client_secret。如何使用oauth2-server-laravel

这里是我的路线:

Route::post('oauth', function() 
{ 
    return AuthorizationServer::performAccessTokenFlow(); 
}); 

这给了响应, -

{ 
    "error": "invalid_request", 
    "error_description": "The user credentials were incorrect." 
} 

我已经插入CLIENT_ID和client_secret从MySQL。也种子用户表。

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

+0

解决了这个问题,我是路过'用户名'而不是'电子邮件' – Tejas 2014-09-30 18:17:08

+0

也卡在这一个,任何人都可以共享一个“用户”表,通过电子邮件或用户名或两者都没有在我的情况下工作 – Playnox 2015-01-21 02:15:55

回答

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