2017-02-20 16 views
0

Laravel 5.4(パスポート)を使用してREST APIを開発しています。パスワードを取得するLaravelパスポートのhttp要求なしのグラントトークン

別のhttp要求を行わずに、サインアップ時にアクセストークンを取得します。 私はLaravelのドキュメントを徹底的に読みました。アクセストークンを取得する直接の方法はありません。以下のようなもの: -

$token = $user->getOathToken($user_id); 

パスポートのドキュメント彼らはこのような何かを提供ドキュメントでpassword grant token

のためには:

$http = new GuzzleHttp\Client; 

    $response = $http->post('http://your-app.com/oauth/token', [ 
     'form_params' => [ 
      'grant_type' => 'refresh_token', 
      'refresh_token' => 'the-refresh-token', 
      'client_id' => 'client-id', 
      'client_secret' => 'client-secret', 
      'scope' => '', 
     ], 
    ]); 

return json_decode((string) $response->getBody(), true); 

私は別のHTTPリクエストを作成する必要はありません。それを避ける方法はありますか?

答えて

1

実行する方法はありません。あなたは/oauth/tokenルートを扱うコントローラのメソッドである

\Laravel\Passport\Http\Controllers\[email protected] 

を見ている可能性があります。 POSTリクエストとして実行することなく、必要なパラメータを渡すことを見てください。

+1

このタイプの機能を提供するのは明らかではありませんか、パスポートワークフローについて何か不足していますか? –

+1

実際には、パスポートは、サードパーティのアプリケーション用にトークンを生成するように設計されています。認証ベアラヘッダーでCSRFトークンを使用することができます。これは、ローカルで提供されるvuejsフロントエンドが認証する方法です。 – Joe

関連する問題