OAuth 2.0 기능을 캡슐화하는 SDK를 개발하고 싶습니다. OAuth 1.0과 2.0의 차이점을 확인했고 Authorization Header ( 1.0 및
2.0 ) 에 대해 약간의 혼동이 있습니다. OAuth 1.0 프로토콜 매개 변수는 HTTP “Authorization”헤더를 사용하여 전송할 수 있지만 현재 설명 된 내용을 찾을 수 없습니다. OAuth 2.0 초안.
OAuth 2.0은 인증 헤더를 지원하나요?
OAuth 1.0에서 헤더는 다음과 같습니다.
Authorization: OAuth realm="Example",
oauth_consumer_key="0685bd9184jfhq22",
oauth_token="ad180jjd733klru7",
oauth_signature_method="HMAC-SHA1",
oauth_signature="wOJIO9A2W5mFwDgiDvZbTSMK%2FPY%3D",
oauth_timestamp="137131200",
oauth_nonce="4572616e48616d6d65724c61686176",
oauth_version="1.0"
답변
헤더에서 OAuth2 인증 (액세스 토큰)을 전달하는 방법의 예를 찾는 사람들을 위해 (요청 또는 본문 매개 변수를 사용하는 것과 반대) 다음은 수행 방법입니다.
Authorization: Bearer 0b79bab50daca910b000d4f1a2b675d604257e42
답변
OAuth 2.0에서 여전히 Authorization 헤더를 사용할 수 있습니다. OAuth 전달자 토큰과 함께 사용하기 위해 Authorization 헤더에 지정된 전달자 유형이 있습니다 (클라이언트 앱은 단순히 토큰을 제공 ( “bear”)해야 함). 헤더의 값은 클라이언트가 Authorization Server에서받은 액세스 토큰입니다.
이 사양에 문서화되어 있습니다 : https://tools.ietf.org/html/rfc6750#section-2.1
예 :
GET /resource HTTP/1.1
Host: server.example.com
Authorization: Bearer mF_9.B5f-4.1JqM
여기서 mF_9.B5f-4.1JqM 은 OAuth 액세스 토큰입니다.