2016-09-27 4 views
0

OAuth 2.0과 OpenID Connect를 모두 이해하려고하는데 중요한 질문이 있습니다. OpenID Connect Endpoints가 서로 통신하는 방법은 무엇입니까?Openid 연결 엔드 포인트 간의 통신

예 : 인증 코드 흐름의 경우 Authorization EndPoint가 클라이언트에게 access_token을 제공하면이 토큰을 UserInfo Endpoint로 보내 사용자 정보를 얻습니다. 여기에 질문이 있습니다. 어떻게 UserInfo Endpoint가 access_token이 클라이언트가 올바른 클라이언트인지 확인하는 방법을 확인할 수 있습니까? 그 두 종점 사이의 통일에 있습니까?

답변 해 주셔서 감사합니다.

답변

1

UserInfo EndpointAuthorization Endpoint 또는 Token Endpoint에서 발급 된 액세스 토큰을 해석 할 수 있어야합니다.

간단한 구현에서 모든 끝점은 하나의 서버에서 구현됩니다. 이 경우 UserInfo Endpoint는 Authorization Endpoint 또는 Token Endpoint가 발급 한 액세스 토큰을 저장하는 데이터베이스 테이블과 동일한 데이터베이스 테이블을 참조해야만 액세스 토큰에 대한 정보를 쉽게 얻을 수 있습니다.

인증 서버에 Authorization Endpoint 및 Token Endpoint가 구현되고 UserInfo Endpoint가 리소스 서버에 구현 된 경우 리소스 서버는 액세스 토큰에 대한 정보를 얻기 위해 인증 서버에 질의해야합니다. RFC 7662 (OAuth 2.0 토큰 인트로 스펙 션)은 인증 서버에서 액세스 토큰에 대한 정보를 얻는 방법을 정의하는 표준입니다.

RFC 7662는 토큰 인트로 스펙 션의 표준이지만, 권한 부여/자원 서버 구현자는 반드시 사양을 지원할 강력한 동기가 없습니다. 이유에 관심이 있으시면 "4. Introspect Access Token"을 참조하십시오.

BTW, 인증 코드 흐름에서 액세스 토큰은 인증 끝점에서가 아니라 토큰 끝점에서 발급됩니다. 플로우의 Authorization Endpoint에서 발행되는 것은 권한 코드 (액세스 토큰이 아님)입니다.

+0

이 설명에 대해 감사드립니다. – isedrof