UserInfo 엔드포인트에 의해 리턴되는 청구 구성

UserInfo 엔드포인트가 리턴하는 청구를 사용자 정의하도록 Liberty OpenID Connect 제공자를 구성할 수 있습니다.

이 태스크 정보

server.xml 파일에 있는 openidConnectProvider 요소의 scopeToClaimMapclaimToUserRegistryMap 하위 요소를 사용하여 Liberty 서버 OpenID Connect 제공자에서 리턴되는 청구를 구성할 수 있습니다.

OpenID Connect UserInfo 엔드포인트는 액세스 토큰을 입력으로 승인하고 액세스 토큰이 작성된 사용자에 대한 청구 세트를 리턴합니다. 리턴되는 청구는 다음을 기준으로 판별됩니다.
  1. 액세스 토큰의 범위

    액세스 토큰은 여러 범위를 가질 수 있습니다. 액세스 토큰의 범위는 액세스 토큰을 작성한 권한 부여 엔드포인트 호출에서 제공되는 범위입니다.

  2. 범위와 연관되는 청구

    각각의 범위는 연관된 여러 청구를 가질 수 있습니다.

  3. 청구와 연관되는 연합 저장소 특성

    청구는 연관된 하나의 연합 저장소 특성만 가질 수 있습니다.

  4. 연합 저장소 특성과 연관되는 사용자 레지스트리 속성

    연합 저장소 특성은 연관된 하나의 사용자 레지스트리 속성만 가질 수 있습니다.

참고: UserInfo 청구 검색을 지원하는 유일한 사용자 레지스트리 유형은 LDAP입니다.

Liberty는 기본 범위, 청구, 연합 레지스트리 특성 및 기본 맵핑을 정의합니다.

표 1. 범위, 청구 및 연합 레지스트리 특성에 대한 기본 맵핑
범위 청구 연합 레지스트리 특성
profile name, given_name, picture displayName, givenName, photoURL
email email mail
address address postalAddress
phone phone_number telephoneNumber

다음의 각 단계는 선택사항입니다. Liberty 서버는 기본 범위, 청구, 연합 레지스트리 특성, 기본 맵핑을 정의합니다. 다음의 단계를 수행해야 하는 유일한 시기는 기본 맵핑을 변경하거나 사용자 정의 범위 또는 청구를 정의하려는 경우입니다.

프로시저

  1. 범위와 연관되는 청구를 구성하십시오. 범위는 여러 청구에 맵핑될 수 있으며 여러 청구는 쉼표로 구분해야 합니다.
    다음 예제에서 범위 CUSTOM_SCOPE1CUSTOM_CLAIM1language라는 두 개의 청구와 연관되고 범위 CUSTOM_SCOPE2는 청구 CUSTOM_CLAIM2와 연관됩니다.
    <scopeToClaimMap CUSTOM_SCOPE1="CUSTOM_CLAIM1, language"
                     CUSTOM_SCOPE2="CUSTOM_CLAIM2" />
    참고: 청구 및 범위 이름은 대소문자를 구분하므로 CUSTOM_SCOPE1custom_scope1은 서로 다른 범위입니다.
    1. 철자는 동일하지만 대소문자가 다른 범위를 정의하려면 property 하위 요소를 사용해야 합니다. 다음 예제에서는 CUSTOM_SCOPE1custom_scope1 범위가 정의됩니다.
      <scopeToClaimMap CUSTOM_SCOPE1="CUSTOM_CLAIM1, language" > 
          <property name="custom_scope1" value="custom_claim1,mobile"/> 
      </scopeToClaimMap>
  2. 청구와 연관되는 연합 저장소 특성을 구성하십시오. 청구는 하나의 연합 저장소 특성에만 맵핑될 수 있습니다.
    다음 예제에서 청구 CUSTOM_CLAIM1은 연합 저장소 특성 departmentNumber와 연관됩니다. 청구 language는 연합 저장소 특성 preferredLanguage와 연관되고 청구 CUSTOM_CLAIM2는 연합 저장소 특성 mail과 연관됩니다.
    <claimToUserRegistryMap CUSTOM_CLAIM1="departmentNumber"
                            language="preferredLanguage" 
                            CUSTOM_CLAIM2="mail" />
    1. 철자는 동일하지만 대소문자가 다른 청구를 정의하려면 property 하위 요소를 사용해야 합니다. 다음 예제에서는 CUSTOM_CLAIM1custom_claim1 청구가 정의됩니다.
      <claimToUserRegistryMap CUSTOM_CLAIM1="departmentNumber" >
          <property name="custom_claim1" value="employeeType" />
      </claimToUserRegistryMap>
  3. 연합 저장소 특성과 연관되는 사용자 레지스트리 속성을 구성하십시오.
    다음 예제에서 연합 저장소 특성 photoURL은 LDAP 레지스트리 속성 ldapPersonPicture와 연관됩니다.
    <ldapRegistry...>
      ...
        	<attributeConfiguration>
            <attribute name="ldapPersonPicture" 
                       propertyName="photoURL" 
                       entityType="PersonAccount" />
        	</attributeConfiguration>
       ...
    </ldapRegistry>
    참고: LDAP 속성은 LDAP 레지스트리의 스키마에서 정의되어야 합니다.

결과

이제 UserInfo 엔드포인트에 의해 리턴되는 청구를 사용자 정의하기 위해 필요한 구성을 완료했습니다.

주제의 유형을 표시하는 아이콘 태스크 주제



시간소인 아이콘 마지막 업데이트 날짜: Tuesday, 6 December 2016
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=twlp_config_scopes_claims_userinfo
파일 이름: twlp_config_scopes_claims_userinfo.html