2016-06-08 1 views
1

Laravel (5.2) 프레임 워크를 사용하여 작성한 REST API를 호출하는 모바일 앱이 있습니다.Laravel 5, 모바일 앱에 API 토큰을 보내는 방법

Laravel API authentication에 대한이 기사에서는 이러한 API를 호출하는 사용자를 인증하는 방법에 대해 설명합니다. 호출자는 요청에서 올바른 api_token을 서버로 보내야합니다.

제 질문은 모바일 앱에 API 토큰을 가져 오는 좋은 방법이 될 것입니다. 나는 현재 사용자가 유효한 사용자 이름/암호 쌍을 보내면 usernamepassword을 기반으로 사용자를 인증하고 응답에서 api_token을 응답으로 보낼 나머지 API를 만들려고합니다. 이 방법이 정확하고 안전합니까? 이 방법을 사용하면 추가로 고려해야 할 사항은 무엇입니까?

답변

1

예이 방법은 안전합니다. 또한 HTTPS를 SSL 인증서와 함께 사용하여 서버에 대한 연결을 보호해야합니다.

2

당신은 당신은 단지 사용자 이름과 암호를 한 번 보내 안전한 API이 방법으로

하려면이 방법 중 하나를 사용해야하며이를 얻을 수 토큰은 결정할 수있는 시간 동안 유효합니다. 그러나 시간이 더 클수록 불안정합니다.

이 문제를 해결하려면 갱신 토큰 방법이 있습니다. 유효한 토큰을 사용하면 다른 유효한 토큰을 가져 와서 이전 명령을 새로 고칠 수 있습니다. 이 방법으로 사용자 이름과 암호는 모든 요청에서 전송되지 않으므로보다 보호됩니다.

제공 한 예에서 보았 듯이 항상 각 사용자마다 동일한 토큰을 갖고있는 것은 좋지 않습니다. 그것은 매우 불안합니다. 누군가이 토큰을받는다면, 그는 항상 당신의 이름으로 요청을 보낼 수 있습니다. 토큰은 평생 동안 있어야합니다.

귀하의 질문에 답변하려면 모바일 앱에 API 토큰을 보내는 방법 귀하의 모바일 앱에 유효한 토큰을 받고 새로 고친 후 추천합니다. 이 앱에서 토큰을 얻기 위해 좋은 작품으로 뭔가 :

if (thereAreTokenStored()) 
{ 
    if (! theTokenStoredIsValid()) 
    { 
     $authentication = refreshToken(); 
    } 
} 
else 
{ 
    $authentication = authenticate(); 
} 

이 모든 문제를 알고 난 당신에게이 책을 추천 : https://apisyouwonthate.com/. 나는이 책을 통해 많은 'API WORLD'를 배웠다. 전문적인 방법으로 API를 작성하는 데 필요한 모든 정보를 얻고이를 달성하고 많은 작업을 단축하는 데 필요한 도구와 패키지를 제공하는 데 도움이됩니다. 그리고 당신은 당신의 API를 사랑할 것입니다 !!

+0

실제로 Laravel 5.2에서 더 잘 작동하기 때문에 OAUTH2를 JWT로 전환했습니다. 데이터베이스가 필요 없습니다. 더 쉽게 구현할 수 있습니다. – Sangar82

+0

이것에 대한 업데이트가 있습니까? – Sangar82