2016-07-07 11 views
2

私はLaravel用のAPIを構築していますが、フォームの代わりにヘッダー内にapi_tokenを送信します。これはすでに組み込まれているものなのでしょうか、または私自身の認証ドライバを作成する方法を理解するための道を行く必要がありますか?Laravel - ヘッダー内にapi_tokenを送信する

答えて

7

私はこれで少し苦労した後、私はそれを働かせました。あなたはユーザーテーブルなどにapi_tokenを持っていたら、あなたは今、各リクエストのヘッダにこれを渡すことができます次に https://gistlog.co/JacobBennett/090369fbab0b31130b51

: あなたはまず自分のlaravel APIのapi_tokenを使用する方法についてのこの小さなチュートリアルを実行する必要があります。

私のlaravelはVueifyテンプレートを使用しています。つまり、/components/Comment.vueなどのファイルがあります。あなたが追加することにより、プロパティを受け入れ、あなたの.vueファイルに確保その後

<comments id_token="{{ access()->user()->api_token }}"></comments> 

最初のステップは、ブレード・テンプレート内のコンポーネント定義によってプロパティを渡すことで、Vueのテンプレートにapi_tokenユーザーを渡すことですそれは「小道具」へ:お知らせその上で

export default { 
    data: function() { 
     return { 
      edit: false, 
      list: [], 
      comment: { 
       id: '', 
       name: '', 
       body: '' 
      } 
     }; 
    }, 

    props: ['id_token'], 

    created: function() { 
     Vue.http.headers.common['Authorization'] = 'Bearer ' + this.id_token; 

     this.fetchCommentList(); 
    }, 

私もそれがさらに下にすべての方法で使用される各要求を通過させるために共通のヘッダーにトークンを追加しました。

Vue.http.headers.common['Authorization'] = 'Bearer ' + this.id_token; 
3

APIを使用している場合は、認証ドライバを作成する必要はありません。APIエンドポイントにリクエストする必要があります。あなたが好む方法を選んで、ウェブページでauthドライバを使うときと同じように考えないでください。

これは、ヘッダーを介して$トークンを送信する方法の例です。 cURLのとGuzzleがつがつ食う

$headers = [ 
    'Authorization' => 'Bearer '.$token 
]; 

$client = new GuzzleHttp\Client(); 
$res = $client->request('POST', 'http://api.domain.com/endpoint',[ 
      'form_params' => $data, 
      'headers'  => $headers, 
]); 

$data = [ 
    'value1' => 'value1', 
    'value2' => 'value2' 
]; 
CURLで

$headers = [ 
    'Authorization: Bearer '.$token 
]; 

$ch2 = curl_init(); 
curl_setopt($ch2, CURLOPT_URL, 'http://api.domain.com/endpoint'); 
curl_setopt($ch2, CURLOPT_POST, 1); 
curl_setopt($ch2, CURLOPT_POSTFIELDS, $data); 
curl_setopt($ch2, CURLOPT_HTTPHEADER, $headers); 
curl_setopt($ch2, CURLOPT_RETURNTRANSFER, true); 
$result = curl_exec ($ch2); 
curl_close ($ch2); 

で、私はこのことができます願っています!

+0

ありがとうございます。私は郵便配達で同じことを再現しようとしています、どうすればいいですか?私はapi_token、Authorization:BearerとBearerをヘッダーに渡そうとしましたが、常にトークンを認識できないようです。私は間違って何をしていますか? – user1157885

+0

これはもう一つの質問です。 – Sangar82

+0

郵便受けのセクションヘッダーを参照してください:https://www.getpostman.com/docs/requests – Sangar82

関連する問題