2016-10-04 71 views
2

我正在嘗試開發一個使用令牌進行認證的restful api,使用laravel 5.3。我還添加了laravel護照,我認爲這會幫助我更快地構建api。我想通過api提供的資源對於所有用戶來說都是通用的,對用戶來說沒有任何特定的。所以我想應該使用授權類型:客戶端憑證。我無法在laravel文檔中找到關於此授權類型的任何幫助如何在laravel護照中啓用客戶端憑據授權類型

https://github.com/laravel/passport/pull/34/files此鏈接顯示客戶端憑證授予類型已添加到laravel護照。但是當我嘗試給予授予類型作爲客戶端憑證時

$http = new \GuzzleHttp\Client; 
    $response = $http->post('http://site.dev/oauth/token', [ 
     'form_params' => [ 
      'grant_type' => 'client_credentials', 
      'client_id' => config('api.client_id'), 
      'client_secret' => config('api.client_secret'), 
      'redirect_uri' => config('api.redirect_uri'), 
    ], 
    ]); 

它給出所用授予類型的錯誤。

+0

我想我應該去密碼授權類型。 –

+0

我已經使用密碼授權創建了一個客戶端,並編輯了數據庫表列password_client,更改了1 - > 0.並且它返回了api標記。如何創建密碼客戶端?只有使用php artsan命令的選項 –

回答

1

當您安裝Laravel護照一個密碼授予在默認情況下,在oath_clients表安裝,但password_client欄應該是1不是0
然後您發送some form_data到/oauth/token url和得到的回報access_token

+0

只能創建密碼的授權方式是php artisan passport:client --password。我想從管理端創建密碼客戶端。我認爲更多的文檔和代碼將在下次護照更新中添加,完全實施全部四項撥款 –

2

我正在使用客戶端憑據方法,因爲它是一臺機器調用。我得到了像{「錯誤」的錯誤:「Unauthenticated」。當使用郵遞員時。我使用Access類型和授權標題,但得到相同的錯誤。然後我Google搜索並嘗試了下面鏈接中介紹的方法。有效。 :) :) http://filljoyner.com/2017/03/01/how-to-use-client-credentials-grant-tokens-for-your-api-authorization-with-laravel-5-4s-passport/

+0

您應該對此類建議使用評論。如果你正在回答,請解釋。 –

相關問題