Liberty Repository[8.5.5.4 이상]

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 엔드포인트에 의해 리턴되는 청구를 사용자 정의하기 위해 필요한 구성을 완료했습니다.

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

Information Center 이용 약관 | 피드백


시간소인 아이콘 마지막 업데이트 날짜: Wednesday, 2 September 2015
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=phil&product=was-libcore-mp&topic=twlp_config_scopes_claims_userinfo
파일 이름: twlp_config_scopes_claims_userinfo.html