2015-01-27 6 views
4

Doorkeeper의 Token과 Grant의 차이점을 알 수 없습니다. Doorkeeper는 Access Grant와 Access Token을 생성합니까? 문서는 그것에 대해 아무 말도하지 않는 것 같아요, 지금은 코드를 읽고 있지만 12 라인이 아닙니다.액세스 부여와 액세스 토큰의 차이점

+0

두 가지 문서에 대한 링크를 게시 할 수 있습니까? 즉, Access Grant와 Access Token에 대해 이야기하는 문서의 링크 중 하나입니까? –

+0

설명서가 없습니다. 필자는 코드에서 만 볼 수 있지만 문서에서는 언급하지 않습니다. – Tute

답변

9

도 읽을 것을 권장합니다. documentation of oauth2
제가 알고 있듯이, Doorkeeper는 해당 문서에도 설명 된 프로토콜을 기반으로합니다.

문지기에서 먼저 액세스 권한을 부여한 다음 액세스 토큰을 받게됩니다.

액세스 권한은 일반적으로 매우 짧게 유지됩니다 (도어 키퍼의 기본값은 10 분입니다). api-url/oauth/authorize (client_id, redirect_uri 및 response_type을 매개 변수로 사용하는 것을 잊지 말고 response_type은 "code"값을 가짐)에 GET을 요청하면됩니다.

사용자가 앱을 허용하면 (사용자가 "허용"버튼을 클릭) 문지기는 반환 URL에 매개 변수로 액세스 권한을 반환합니다. 해당 코드를 가져와 api-url/oauth/token에 대한 POST 요청을 작성하여 access_token 및 refresh_token을 얻을 수 있습니다.

access_token을 사용하면 제한된 시간 내에 API 자원을 얻을 수 있습니다 (실수하지 않으면 Doorkeeper의 기본값은 1 시간입니다). acces_tooken이 만료되면 refresh_token을 사용하여 새 access_token을 얻는 등의 작업을 수행하십시오.

요약하면 액세스 허가은 사용자가 앱에서 리소스를 사용하도록 허용 한 기호로 제공되는 키입니다.
액세스 토큰은 앱이 정의한 제한된 시간 내에 리소스를 사용할 수 있도록 허용하는 키입니다.

희망이 있습니다.

+2

또한 중요한 것은 응용 프로그램이 신뢰할 수없는 웹 에이전트 (일반적으로 웹 브라우저)를 통해 권한 코드가 전달된다는 것입니다. 그런 다음이 코드를 사용하여 위에서 언급 한 POST 요청을 통해 전송 된 비밀과 결합하여 토큰을 안전하게 가져옵니다. – peterept

2

Rails 앱에서 Ruby gem을 사용하는 것처럼 웹 서버 흐름에 대해 이야기하고 있다고 가정합니다 (알고있는 것처럼 4 가지 흐름이 있음).

일반적으로 웹 서버 플로우에서 부여은 사용자가 동의 승인 링크를 클릭하는 순간입니다. 즉, 데이터를 읽거나 쓸 수있는 권한을 애플리케이션에 부여해야합니다.

동의가 부여되면 앱에 임시 코드가 전송됩니다. 이 코드를 사용하면 백그라운드에서 앱이 토큰을 서비스 제공 업체에 요청합니다.

그런 다음 토큰 만 있으면 앱에서 서비스 제공 업체 API를 사용할 수 있습니다.

관련 문제