[oauth-2.0] OAuth 2의 베어러 토큰과 token_type은 무엇입니까?

OAuth 2 사양에서 리소스 소유자 및 암호 자격 증명 흐름 을 구현하려고합니다 . token_type유효한 응답으로 반송 되는 값을 이해하는 데 문제 가 있습니다. 사양에서 모든 예제는 보여 "token_type":"example"주지만

token_type이 필요합니다. 7.1 장에 설명 된대로 발행 된 토큰의 유형
. 값은 대소 문자를 구분하지 않습니다.

누군가 나에게 이것을 설명해 주시겠습니까?



답변

token_typeAccess Token에서 Authorization Server에 대한 호출 생성의 매개 변수로, 기본적으로 자원 액세스 호출에 대해 access_token이 생성되고 표시되는 방법을 나타냅니다. 권한 서버에 대한 액세스 토큰 생성 호출에서 token_type을 제공하십시오.

당신이 줄 경우 Bearer(대부분의 구현에 기본값),가 access_token생성되고 다시 전송됩니다. 베어러는 단순히 “이 토큰의 베어러에게 액세스 권한을 부여”로 이해 될 수 있습니다. 하나의 유효한 토큰이며 질문이 없습니다. 반면 Macand sign_type( hmac-sha-1대부분의 구현에서 기본값) 를 선택 하면 액세스 토큰이 Key Manager에서 속성으로 생성되고 비밀로 유지되며 암호화 된 비밀은access_token

예. 자체 구현을 사용할 수 token_type있지만 개발자가 표준 OAuth 구현이 아닌 프로세스를 따라야하므로 의미가 없습니다.


답변

누구나 “token_type”을 OAuth 2.0 확장으로 정의 할 수 있지만 현재 “베어러”토큰 유형이 가장 일반적입니다.

https://tools.ietf.org/html/rfc6750

기본적으로 Facebook이 사용하고 있습니다. 그들의 구현은 최신 사양보다 약간 뒤떨어져 있습니다.

Facebook보다 더 안전하거나 “서명”이있는 OAuth 1.0만큼 안전하려면 “mac”토큰 유형을 사용할 수 있습니다.

그러나 Mac 사양이 여전히 빠르게 변하고 있기 때문에 어려운 방법입니다.

https://tools.ietf.org/html/draft-ietf-oauth-v2-http-mac-05


답변

Mozilla MDN 헤더 정보

무기명 토큰
토큰을 소유 한 모든 당사자 ( “소유자”)가 소유 한 다른 당사자가 토큰을 소유 할 수있는 속성을 가진 보안 토큰. 베어러 토큰을 사용한다고해서 베어러가 암호 키 자료 (소지 증명)를 소유하고 있음을 증명할 필요는 없습니다.

Bearer Token 또는 Refresh 토큰은 인증 서버에 의해 생성됩니다. 사용자가 응용 프로그램 (클라이언트)을 인증하면 인증 서버는 Bearer Token (새로 고침 토큰)을 생성하여 액세스 토큰을 얻는 데 사용할 수 있습니다.

베어러 토큰은 일반적으로 인증 서버에 의해 생성 된 일종의 암호 값으로, 사용자에게 액세스 권한을 부여한 사용자와 클라이언트에 응용 프로그램에 액세스 권한을 부여하여 무작위로 생성되는 것은 아닙니다.


답변