2017-03-22 3 views
0

axios를 사용하여 vuejs에서 laravel api에 액세스하려고 할 때 401이 표시됩니다. Laravel 5.4에서 바로 사용할 수있는 설정이므로 작동하지 않는 이유를 알 수 없습니다.401 (인증되지 않은) Laravel 기본 vuejs 설정

여기 내 코드입니다 :

// routes -> api.php 

Route::middleware('auth:api')->get('/user', function (Request $request) { 
    return request->user(); 
}); 

// axios request 

axios.get('/api/user').then(function (response) { 
    console.log(response); 
    console.log(response.status); 
}); 

요청 모든 토큰 물건을 포함 ... 나는 생각한다. 요청에 의해

X-CSRF-TOKEN:uAW2t.. 
X-Requested-With:XMLHttpRequest 
X-XSRF-TOKEN:eyJpdiI.. 

모든 응답 :

당신이 URL 또는 인증 헤더 키에 중 토큰을 가지고 당신이 API를 사용하려면 사용자 권한을 부여하는 경우
General 
Request URL:http://localhost/public/api/user 
Request Method:GET 
Status Code:401 Unauthorized 
Remote Address:[::1]:80 
Response Headers 
view source 
Cache-Control:no-cache, private 
Connection:Keep-Alive 
Content-Length:28 
Content-Type:application/json 
Date:Wed, 22 Mar 2017 09:35:49 GMT 
Keep-Alive:timeout=5, max=92 
Server:Apache/2.4.23 (Win64) PHP/5.6.25 
X-Powered-By:PHP/5.6.25 
X-RateLimit-Limit:60 
X-RateLimit-Remaining:57 
Request Headers 
view source 
Accept:*/* 
Accept-Encoding:gzip, deflate, sdch, br 
Accept-Language:nl-NL,nl;q=0.8,en-US;q=0.6,en;q=0.4 
Connection:keep-alive 
Cookie:XSRF-TOKEN=eyJpdiI6IjNBVHdDNWdsTnBYT3FUT1E5d1IxTmc9PSIsInZhbHVlIjoiY05JYW9LdDB3ek5FVjRWYkVEM21NQlFEQnNPdHI0Rk5MdWhKbFcrZU1qWFB5MGIyXC9oR1RQNGJkdTB6RmZ3SFp1OU04S0RpazYzZW5ZNUhVMng1VCtnPT0iLCJtYWMiOiIyZTQ5ZDdlYTgwYmMzZTYxYjMzMjljMmNlMDJlYWFlNTNkNzJkZmY5ZGVlMTQ5ZjlmZDM4NTYzOTc1MjIwYzhkIn0%3D; laravel_session=eyJpdiI6IkhcLzJKRDVDTHRDN1FWUjZicDdZaVJnPT0iLCJ2YWx1ZSI6IlJoTkVQWUQ5OWZuYUo4bmF1eHRMYWFlamZramhtTkpmMnYwbUlaaTV3ZENuWFJQZW9IcDZxbU5EQjJXSDY2a01WMHpjeHU3Uk9UOG44MzN3NmgxK2NBPT0iLCJtYWMiOiI4OWM1ZWI3YjIzMDg5MTAwYjc0YmZmZDE4OTY3MjU5OTNkZDdjYjY2MjU3NmFlNTE3NDE2NTVjYzBhY2Y4MzJmIn0%3D 
DNT:1 
Host:localhost 
Referer:http://localhost/public/ 
User-Agent:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36 
X-CSRF-TOKEN:uAW2tI8bags0CaQaYBKmbfdExoCVDnZlJb1sW9f4 
X-Requested-With:XMLHttpRequest 
X-XSRF-TOKEN:eyJpdiI6IjNBVHdDNWdsTnBYT3FUT1E5d1IxTmc9PSIsInZhbHVlIjoiY05JYW9LdDB3ek5FVjRWYkVEM21NQlFEQnNPdHI0Rk5MdWhKbFcrZU1qWFB5MGIyXC9oR1RQNGJkdTB6RmZ3SFp1OU04S0RpazYzZW5ZNUhVMng1VCtnPT0iLCJtYWMiOiIyZTQ5ZDdlYTgwYmMzZTYxYjMzMjljMmNlMDJlYWFlNTNkNzJkZmY5ZGVlMTQ5ZjlmZDM4NTYzOTc1MjIwYzhkIn0= 
+0

포스트 laravel 응답이 아닌 401 –

+0

응답은 401 : { "오류": "인증되지 않은."}. 아니면 모든 헤더를 원하십니까? – Naowut

+0

API에 로그인하지 않았기 때문에이 오류가 예상됩니다. 사용자 데이터를 보려면 액세스 토큰을 전달해야합니다. –

답변

-1
axios.get('/api/user',{headers:{<br> 
    'Accept':'application/json',<br> 
    'Authorization':'Bearer ' + window.localStorage.getItem('token_name_here')<br> 
    'cache-control':'no-cache'<br> 
}).then(...)... 
+1

답변에 대한 설명을 제공해 줄 수 있습니까? – mhatch

0

. 해당 토큰은 api_token 열에서 users 테이블이어야합니다.

var token = 'exampleToken'; 
 
axios.get(
 
    '/api/user?api_token=' + token, // here 
 
    { 
 
     headers: 
 
      { 
 
       'Authorization':'Bearer ' + token // or here 
 
      } 
 
    } 
 
).then(...)

관련 문제