2017-09-04 6 views
0

私のコードは、クッキーとして応答するトークンを生成します。axiosを使用してクッキートークンを送信するにはどうすればよいですか?

public function authenticate(Request $request) 
{ 
    // grab credentials from the request 

    $credentials = ['email'=>$request->header('email'),'password'=>$request->header('password')]; 

    try { 
     // attempt to verify the credentials and create a token for the user 
     if (! $token = JWTAuth::attempt($credentials)) { 
      return response()->json(['error' => 'invalid_credentials'], 401); 
     } 
    } catch (JWTException $e) { 
     // something went wrong whilst attempting to encode the token 
     return response()->json(['error' => 'could_not_create_token'], 500); 
    } 

    return response($token)->cookie(
     'token',$token, 60 
    ); 

} 

私はそれを処理するためにAxiosを使用しています。私のコードは次のとおりです。

axios({ 
     method: 'post', 
     url: 'http://test.dev/authenticate', 
     headers : { 
     'email':'[email protected]', 
     'password':'secret' 
     }, 
     json:true, 
    }) 
axios({ 
     method: 'get', 
     url: 'http://test.dev/api/users', 
     json:true, 
     withCredentials: true 
    }); 

ここで、ユーザーリストを取得するためにトークンを送信する方法に問題があります。私はwithCredentialsを追加しようとしました。本当ですが、運はありません。

token_not_providedという応答エラーが発生しました。

質問:

  1. 応答からクッキー・トークンの値を取得する方法は?
  2. 承認ベアラ{トークン}を使用してAxiosを使用してトークンを送信する方法はありますか?

ありがとうございます。

+1

コードの画像をアップロードしないでください。誰もあなたが簡単にコピー貼り付けできるコードを再入力する時間がありません – milo526

答えて

0

あなたのaxiosヘッダーにトークンを追加する必要があります。

headers: { 
    'Authorization' : 'Bearer ' + token 
} 

は、あなたが戻ってあなたの最初の承認から、それを受けた後、あなたのtokenを保存することを確認してください。

+0

こんにちは、あなたの答えをありがとう。トークンを保存するという意味ですか?私はすでにクッキーレスポンスとして設定しています。私はresponse.headers( 'Set-Cookie')を使ってトークン値を取得しようとしましたが、結果は未定義です。 – POGI

関連する問題