5장. Identity Brokering API
Red Hat Single Sign-On은 로그인을 위해 상위 IDP에 인증을 위임할 수 있습니다. 일반적인 예는 사용자가 Facebook 또는 Google과 같은 소셜 공급자를 통해 로그인할 수 있도록 하려는 경우입니다. 기존 계정을 브로커 IDP에 연결할 수도 있습니다. 이 섹션에서는 ID 브로커링과 관련하여 애플리케이션에서 사용할 수 있는 일부 API에 대해 설명합니다.
5.1. 외부 IDP 토큰 검색
Red Hat Single Sign-On을 사용하면 외부 IDP를 사용하여 인증 프로세스의 토큰과 응답을 저장할 수 있습니다. 이를 위해 IDP 설정 페이지에서 Store Token
구성 옵션을 사용할 수 있습니다.
애플리케이션 코드는 이러한 토큰과 응답을 검색하여 추가 사용자 정보를 가져오거나 외부 IDP에 대한 요청을 안전하게 호출할 수 있습니다. 예를 들어 애플리케이션은 다른 Google 서비스 및 REST API에서 호출하기 위해 Google 토큰을 사용할 수 있습니다. 특정 ID 공급자에 대한 토큰을 검색하려면 다음과 같이 요청을 보내야 합니다.
GET /auth/realms/{realm}/broker/{provider_alias}/token HTTP/1.1 Host: localhost:8080 Authorization: Bearer <KEYCLOAK ACCESS TOKEN>
애플리케이션은 Red Hat Single Sign-On으로 인증되고 액세스 토큰이 수신되어야 합니다. 이 액세스 토큰에는 브로커
클라이언트 수준 역할 read-token
이 있어야 합니다. 즉, 사용자에게 이 역할에 대한 역할 매핑이 있어야 하며 클라이언트 애플리케이션에 해당 범위 내에서 해당 역할이 있어야 합니다. 이 경우 Red Hat Single Sign-On에서 보호 서비스에 액세스하는 경우 사용자 인증 중에 Red Hat Single Sign-On에서 발행한 액세스 토큰을 보내야 합니다. 브로커 구성 페이지에서 저장된 토큰 읽기 가능 스위치를 켜서 새로 가져온 사용자에게 이 역할을 자동으로 할당할 수
있습니다.
이러한 외부 토큰은 공급자를 통해 다시 로그인하거나 클라이언트 시작 계정 연결 API를 사용하여 다시 설정할 수 있습니다.