
![[8.5.5.4 이상]](../ng_v8554.gif)
다리가 두 개인 OAuth 요청을 사용하도록 OpenID Connect Provider 구성
일반 OAuth 플로우는 세 개의 "다리", 즉 클라이언트와 권한 부여 서버 사이의 상호작용 단계로 구성됩니다. 다리가 두 개인 OAuth 시나리오에서 클라이언트는 사전에 권한이 부여된 범위를 사용하므로 사용자와의 상호작용이 필요하지 않으며, 일반 플로우에서 다리 중 하나를 수행할 필요가 없습니다. 특히, 사용자는 권한 부여 서버에 대해 인증하거나 요청된 범위에서 지정된 정보 공유에 대해 승인을 제공할 필요가 없습니다. 대신, 요청된 모든 범위 매개변수는 사전에 권한 부여된 것으로 간주되고 자동으로 요청 토큰에 추가된 후 요청 토큰이 권한 부여 서버로 전송됩니다.
시작하기 전에
이 태스크 정보
두 개의 다리 또는 단계가 있는 시나리오에서 Open ID Connect 클라이언트는 다리가 두 개인 HTTP 요청을 client_credential 또는 resource owner password의 grant type과 함께 전송할 수 있습니다. 이러한 요청은 권한 부여 엔드포인트를 통과하지 않으므로 사용자가 요청된 범위를 확인하고 승인할 범위 승인 양식이 없습니다. 그러나 OpenID Connect Provider는 여전히 access_token 컨텐츠에서 권한 부여된 범위를 처리해야 합니다.
다리가 두 개인 OAuth 요청을 처리할 장치가 있는 OpenID Connect Provider로 구성된 Liberty 프로파일 서버는 다음 기준을 사용하여 사전에 권한 부여된 범위를 승인합니다.
- 요청의 grant_type 매개변수 값이 client_credential 또는 resource owner password이고 요청이 OAuth 2.0 요청인 경우, 이 요청에서 정의된 모든 범위가 승인되고 액세스 토큰의 컨텐츠에 복사됩니다. 이는 OAuth 2.0 기능의 기존 동작입니다.
- 요청이 OpenID Connect 요청이거나 JWT Token OAuth 또는 OpenID Connect 요청인 경우에는 다음 기준이 사용됩니다.
- 요청에 지정된 범위 매개변수가 없는 경우, OpenID Connect Provider는 요청을 승인하지 않습니다.
- 요청된 범위는 클라이언트 구성의 scope 속성으로 정의된 범위 목록에 있어야 하며 또한 클라이언트 구성의 preAuthorizedScope 목록에도 지정되어야 합니다.
이 태스크는 OpenID Connect Provider로 동작하는 Liberty 프로파일 서버가 다리가 두 개인 OAuth 요청을 사용할 수 있도록 구성하는 방법을 설명합니다.
프로시저
<oauthProvider id="OAuthConfigSample" ...>
....
<localStore>
<client name="client01" secret="{xor}..."
displayname="client01"
scope="profile email phone"
preAuthorizedScope="profile email"
enabled="true" />
....
</localStore>
</oauthProvider>