발견 요청을 승인하도록 OpenID Connect Provider 구성

발견 구성 엔드포인트는 OpenID Connect Provider(OP) 서버가 지원하는 기능에 대해 정보를 사용할 수 있도록 만듭니다.

이 태스크 정보

이 서비스가 리턴하는 메타데이터는 OIDC Discovery 1.0 스펙 제공자 메타데이터를 기반으로 하고 확장합니다. 아무것도 지정하지 않으면 서비스는 기본 구성 세트를 리턴합니다. 그렇지 않으면 목적과 구성 가능한 옵션을 이해하기 위해 특성 목록을 참조합니다.

프로시저

발견 구성 서비스에서 선택된 특성의 기본값을 대체할 수 있습니다. 이 조치는 server.xml 파일에 값을 지정하여 수행됩니다. 구성 가능한 특성과 가능한 구성 옵션을 보려면 다음 특성 표를 참조하십시오.
표 1. 발견 요청 매개변수
속성 이름 데이터 유형 필수/선택사항 설명
responseTypesSupported 입력 선택사항 OpenID Connect Provider(OP) 서버에서 지원되는 응답 유형입니다. 지정되지 않는 경우 기본값은 code, tokenid_token token입니다. 둘 이상의 값을 지정할 수 있습니다. 이 값들은 문자열입니다. 예를 들어, 가능한 값은 다음과 같습니다.
  • code
  • token
  • id_token token
subjectTypesSupported 출력 전용 해당사항 없음 OP 서버에서 지원되는 주제 유형입니다. 이 값은 public으로 설정됩니다. 이 값은 문자열입니다.
idTokenSigningAlgValuesSupported 출력 전용 선택사항 OP 서버에서 지원되는 ID 토큰 서명 알고리즘입니다. 이 값은 openidConnectProvider 서버 구성에서 서버 속성 signatureAlgorithm으로 지정됩니다. 지정되지 않은 경우 기본값은 HS256입니다. 하나의 값만 지정할 수 있습니다. 이 값은 문자열입니다. 예를 들어, openidConnectProvider 구성에서 signatureAlgorithm 속성에 가능한 값은 다음과 같습니다.
  • none
  • RS256
  • HS256
scopesSupported 입력 선택사항 OP 서버에서 지원되는 범위 값입니다. 지정되지 않은 경우 기본값은 openid, general, profile, email, addressphone입니다. 둘 이상의 값을 지정할 수 있습니다. 이 값들은 문자열입니다. 예를 들어, 가능한 값은 다음과 같습니다.
  • openid
  • general
  • profile
  • email
  • address
  • phone
claimsSupported 입력 선택사항 OP 서버에서 지원되는 청구 값입니다. 지정되지 않은 경우 기본값은 sub, groupIds, name, preferred_username, picture, locale, emailprofile입니다. 둘 이상의 값을 지정할 수 있습니다. 이 값들은 문자열입니다. 예를 들어, 가능한 값은 다음과 같습니다.
  • sub
  • groupIds
  • 이름
  • preferred_username
  • picture
  • locale
  • email
  • profile
responseModesSupported 입력 선택사항 OP 서버에서 지원되는 응답 모드입니다. 지정되지 않은 경우 기본값은 queryfragment입니다. 둘 이상의 값을 지정할 수 있습니다. 이 값들은 문자열입니다.
  • query
  • fragment
grantTypesSupported 입력 선택사항 OP 서버에서 지원되는 권한 부여 유형입니다. 지정되지 않은 경우 기본값은 authorization_code, implicit, refresh_token, client_credentials, passwordurn:ietf:params:oauth:grant-type:jwtbearer입니다. 둘 이상의 값을 지정할 수 있습니다. 이 값들은 문자열입니다. 예를 들어, 가능한 값은 다음과 같습니다.
  • authorization_code
  • implicit
  • refresh_token
  • client_credentials
  • 비밀번호
  • urn:ietf:params:oauth:grant-type:jwtbearer
tokenEndpointAuthMethodsSupported 입력 선택사항 OP 서버에서 지원되는 토큰 엔드포인트 권한 부여 메소드입니다. 지정되지 않은 경우 기본값은 client_secret_postclient_secret_basic입니다. 둘 이상의 값을 지정할 수 있습니다. 이 값들은 문자열입니다. 예를 들어, 가능한 값은 다음과 같습니다.
  • none
  • client_secret_post
  • client_secret_basic
displayValuesSupported 출력 전용 해당사항 없음 OP 서버에서 지원되는 표시 값입니다. 이 값은 page로 설정됩니다. 이 값은 문자열입니다.
claimTypesSupported 출력 전용 해당사항 없음 OP 서버에서 지원되는 청구 유형 값입니다. 이 값은 normal로 설정됩니다. 이 값은 문자열입니다.
claimsParameterSupported 입력 선택사항 OP 서버에서 청구 매개변수가 지원되는지 여부를 표시합니다. 지정되지 않은 경우 기본값은 false입니다. 하나의 값만 지정할 수 있습니다. 이 값은 부울 값입니다. 예를 들어, 가능한 값은 다음과 같습니다.
  • true
  • false
requestParameterSupported 입력 선택사항 OP 서버에서 요청 매개변수가 지원되는지 여부를 표시합니다. 지정되지 않은 경우 기본값은 false입니다. 하나의 값만 지정할 수 있습니다. 이 값은 부울 값입니다. 예를 들어, 가능한 값은 다음과 같습니다.
  • true
  • false
requestUriParameterSupported 입력 선택사항 OP 서버에서 요청 URI 매개변수가 지원되는지 여부를 표시합니다. 지정되지 않은 경우 기본값은 false입니다. 하나의 값만 지정할 수 있습니다. 이 값은 부울 값입니다. 예를 들어, 가능한 값은 다음과 같습니다.
  • true
  • false
requireRequestUriRegistration 입력 선택사항 OP 서버에서 요청 URI 등록 요구가 지원되는지 여부를 표시합니다. 지정되지 않은 경우 기본값은 false입니다. 하나의 값만 지정할 수 있습니다. 이 값은 부울 값입니다. 예를 들어, 가능한 값은 다음과 같습니다.
  • true
  • false

발견 구성의 예

다음 예제에서는 Liberty OP가 포트 443에서 SSL로 구성되어 있다고 가정합니다.
https://server.example.com:443/oidc/endpoint/<provider_name>/

발견 구성 엔드포인트는 다음 위치에서 액세스할 수 있습니다.

https://server.example.com:443/oidc/endpoint/<provider_name>/.well-known/openid-configuration

예를 들어, server.xml 파일에서 사용자는 다음과 같은 방식으로 OpenID Connect 발견 구성 특성을 사용자 정의할 수 있습니다.

<openidConnectProvider id="OidcConfigSample" oauthProviderRef="OAuthConfigSample">
	<discovery
		responseTypesSupported="token, id_token token" 
		subjectTypesSupported="public" 
		scopesSupported="openid, general, profile"
		claimsSupported="sub, groupIds, name" 
		responseModesSupported="query"
		grantTypesSupported="implicit"
		tokenEndpointAuthMethodsSupported="client_secret_basic" 
		displayValuesSupported="page"
		claimTypesSupported="normal" 
		claimsParameterSupported="true"
		requestParameterSupported="true" 
		requestUriParameterSupported="true"
		requireRequestUriRegistration="true"
	/>
</openidConnectProvider>
<oauthProvider id="OAuthConfigSample">
</oauthProvider>
사용자 정의된 발견 구성의 예
Request Headers:
GET https://server.example.com:443/oidc/endpoint/<provider_name>/.well-known/openid-configuration


Response Headers:
Status: 200
Content-Type: application/json
Cache-Control:public, max-age=3600

Response Body:
{  
   "introspection_endpoint":"https://server.example.com:443/oidc/endpoint/<provider_name>/introspect",
   "coverage_map_endpoint":"https://server.example.com:443/oidc/endpoint/<provider_name>/coverage_map",
   "issuer":"https://server.example.com:443/oidc/endpoint/<provider_name>",
   "authorization_endpoint":"https://server.example.com:443/oidc/endpoint/<provider_name>/authorize",
   "token_endpoint":"https://server.example.com:443/oidc/endpoint/<provider_name>/token",
   "response_types_supported":[  
      "token",
      "id_token token"
   ],
   "subject_types_supported":[  
      "public"
   ],
   "userinfo_endpoint":"https://server.example.com:443/oidc/endpoint/<provider_name>/userinfo",
   "registration_endpoint":"https://server.example.com:443/oidc/endpoint/<provider_name>/registration",
   "scopes_supported":[  
      "openid",
      "general",
      "profile"
   ],
   "claims_supported":[  
      "sub",
      "groupIds",
      "name"
   ],
   "response_modes_supported":[  
      "query"
   ],
   "grant_types_supported":[  
      "implicit"
   ],
   "token_endpoint_auth_methods_supported":[  
      "client_secret_basic"
   ],
   "display_values_supported":[  
      "page"
   ],
   "claim_types_supported":[  
      "normal"
   ],
   "claims_parameter_supported":true,
   "request_parameter_supported":true,
   "request_uri_parameter_supported":true,
   "require_request_uri_registration":true,
   "check_session_iframe":"https://server.example.com:443/oidc/endpoint/<provider_name>/check_session_iframe",
   "end_session_endpoint":"https://server.example.com:443/oidc/endpoint/<provider_name>/end_session"
}
기본 발견 구성의 예
Request Headers:
GET https://server.example.com:443/oidc/endpoint/<provider_name>/.well-known/openid-configuration


Response Headers:
Status: 200
Content-Type: application/json
Cache-Control:public, max-age=3600

Response Body:
{  
   "introspection_endpoint":"https://server.example.com:443/oidc/endpoint/<provider_name>/introspect",
   "coverage_map_endpoint":"https://server.example.com:443/oidc/endpoint/<provider_name>/coverage_map",
   "issuer":"https://server.example.com:443/oidc/endpoint/<provider_name>",
   "authorization_endpoint":"https://server.example.com:443/oidc/endpoint/<provider_name>/authorize",
   "token_endpoint":"https://server.example.com:443/oidc/endpoint/<provider_name>/token",
   "response_types_supported":[  
      "code",
      "token",
      "id_token token"
   ],
   "subject_types_supported":[  
      "public"
   ],
   "userinfo_endpoint":"https://server.example.com:443/oidc/endpoint/<provider_name>/userinfo",
   "registration_endpoint":"https://server.example.com:443/oidc/endpoint/<provider_name>/registration",
   "scopes_supported":[  
      "openid",
      "general",
      "profile",
      "email",
      "address",
      "phone"
   ],
   "claims_supported":[  
      "sub",
      "groupIds",
      "name",
      "preferred_username",
      "picture",
      "locale",
      "email",
      "profile"
   ],
   "response_modes_supported":[  
      "query",
      "fragment"
   ],
   "grant_types_supported":[  
      "authorization_code",
      "implicit",
      "refresh_token",
      "client_credentials",
      "password",
      "urn:ietf:params:oauth:grant-type:jwt-bearer"
   ],
   "token_endpoint_auth_methods_supported":[  
      "client_secret_post",
      "client_secret_basic"
   ],
   "display_values_supported":[  
      "page"
   ],
   "claim_types_supported":[  
      "normal"
   ],
   "claims_parameter_supported":false,
   "request_parameter_supported":false,
   "request_uri_parameter_supported":false,
   "require_request_uri_registration":false,
   "check_session_iframe":"https://server.example.com:443/oidc/endpoint/<provider_name>/check_session_iframe",
   "end_session_endpoint":"https://server.example.com:443/oidc/endpoint/<provider_name>/end_session"
}

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



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