2014-09-30 47 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 
    ] 
]