2016-07-07 2 views
2

저는 Laravel 용 API를 구축 중이며 양식 게시 대신 헤더 내에 api_token을 보내려고합니다. 이미 내장 된 무언가입니까? 아니면 자체 인증 드라이버를 작성하는 방법을 알아야합니다.Laravel - 헤더 내에 api_token 보내기

답변

7

나는 이걸 가지고 조금 힘들어서 일하게 만들었습니다. 당신은 먼저 laravel API의 api_token를 사용하는 방법에 대한이 작은 튜토리얼 따라야합니다 : 당신은 지금 각 요청의 헤더에이를 전달할 수 있습니다 당신은 사용자 테이블 등의 api_token을 일단 다음 https://gistlog.co/JacobBennett/090369fbab0b31130b51

합니다.

내 laravel은 Vueify 템플릿을 사용하고 있습니다. 즉, /components/Comment.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 끝점에 요청해야합니다. 선호하는 방법을 선택하고 웹 페이지에서 인증 드라이버를 사용할 때와 같은 방식으로 생각하지 마십시오.

다음은 헤더를 통해 $ 토큰을 보내는 방법의 예입니다. 목구멍

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

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

와 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); 

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

컬과 Guzzle 난이 도움이되기를 바랍니다!

+0

감사합니다. 나는 우편 배달부에서 똑같은 것을 재현하려고합니다. 어떻게 그럴 수 있습니까? api_token, Authorization : Bearer 및 Bearer를 헤더에 전달하려고 시도했지만 항상 토큰을 인식하지 못하는 것 같습니다. 내가 도대체 ​​뭘 잘못하고있는 겁니까? – user1157885

+0

이것은 또 다른 질문입니다 .... 이것을 다른 것으로 받아들입니다. – Sangar82

+0

우체부 문서 섹션 머리글을 참조하십시오. https://www.getpostman.com/docs/requests – Sangar82

관련 문제