2016-10-04 20 views
2

laravel 5.3を使用して認証用のトークンを使用して安らかなAPIを開発しようとしています。私も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のartanコマンドを使用する唯一のオプションがあります –

答えて

1

あなたはLaravelパスポートにoath_clientsテーブルにデフォルトでインストール中に1社のパスワード許可をインストールしますが、password_client列は1ない0
あるべきときに、あなたが/oauth/token URLにsome form_dataを送信し、見返りにaccess_tokenを取得します。

+0

パスワード権限を作成する唯一の方法は、PHP職人のパスポートです:クライアント - パスワードです。管理者側からパスワードクライアントを作成したい次のパスポートの更新で、さらに多くのドキュメントとコードが追加され、4つのグラントを完全に実装すると思います。 –

2

私はマシンからマシンへの呼び出しであったため、クライアントの認証方法を使用していました。 {"error": "Unauthenticated"のようなエラーが出ました。 } `を使用しています。私はアクセスタイプと承認ヘッダーを使用しましたが、同じエラーが発生していました。それから私はgoogledと下のリンクで説明されている方法を試してみました。出来た。 :) :) http://filljoyner.com/2017/03/01/how-to-use-client-credentials-grant-tokens-for-your-api-authorization-with-laravel-5-4s-passport/

+0

このタイプの提案にはコメントを使用する必要があります。あなたが答えるならば、説明してください。 –

関連する問題