OAuth 2의 베어러 토큰과 token_type은 무엇입니까?


140

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

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

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

답변:


158

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 구현이 아닌 프로세스를 따라야하므로 의미가 없습니다.


28
"이 토큰의 소지자에게 액세스 권한을 부여"하면 이해하기 쉽습니다. 수표를 발행하는 사람은 "수표를 소지 한 사람에게 돈을 준다"는 것과 같습니다.
NVM

@NVM 제안에 감사드립니다. 나는 같은 것을 업데이트했다.
Abhishek Tyagi

33

누구나 "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


14

Mozilla MDN 헤더 정보

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

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

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

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.