메인 콘텐츠로 건너뛰기

타입 별칭: AuthorizationServerMetadata

type AuthorizationServerMetadata = {
  authorization_endpoint: string;
  code_challenge_methods_supported?: string[];
  grant_types_supported?: string[];
  introspection_endpoint?: string;
  introspection_endpoint_auth_methods_supported?: string[];
  introspection_endpoint_auth_signing_alg_values_supported?: string[];
  issuer: string;
  jwks_uri?: string;
  op_policy_uri?: string;
  op_tos_uri?: string;
  registration_endpoint?: string;
  response_modes_supported?: string[];
  response_types_supported: string[];
  revocation_endpoint?: string;
  revocation_endpoint_auth_methods_supported?: string[];
  revocation_endpoint_auth_signing_alg_values_supported?: string[];
  scope_supported?: string[];
  service_documentation?: string;
  token_endpoint: string;
  token_endpoint_auth_methods_supported?: string[];
  token_endpoint_auth_signing_alg_values_supported?: string[];
  ui_locales_supported?: string[];
  userinfo_endpoint?: string;
};

RFC 8414에서 정의된 OAuth 2.0 인가 서버 메타데이터 스키마입니다.

타입 선언

authorization_endpoint

authorization_endpoint: string;

인가 서버의 인가 엔드포인트 URL [RFC6749]. 인가 엔드포인트를 사용하는 grant type이 지원되지 않는 경우를 제외하고 필수입니다.

참고

https://rfc-editor.org/rfc/rfc6749#section-3.1

code_challenge_methods_supported?

optional code_challenge_methods_supported: string[];

이 인가 서버가 지원하는 Proof Key for Code Exchange (PKCE) [RFC7636] 코드 챌린지 방식의 목록을 포함하는 JSON 배열입니다.

grant_types_supported?

optional grant_types_supported: string[];

이 인가 서버가 지원하는 OAuth 2.0 grant type 값의 목록을 포함하는 JSON 배열입니다. 배열 값은 "OAuth 2.0 Dynamic Client Registration Protocol" [RFC7591]에서 정의된 grant_types 파라미터와 동일하게 사용됩니다. 생략된 경우 기본값은 ["authorization_code", "implicit"]입니다.

introspection_endpoint?

optional introspection_endpoint: string;

인가 서버의 OAuth 2.0 인트로스펙션 엔드포인트 URL [RFC7662].

introspection_endpoint_auth_methods_supported?

optional introspection_endpoint_auth_methods_supported: string[];

introspection_endpoint_auth_signing_alg_values_supported?

optional introspection_endpoint_auth_signing_alg_values_supported: string[];

issuer

issuer: string;

인가 서버의 발급자 (Issuer) 식별자입니다. https 스킴을 사용하며 쿼리 또는 프래그먼트 컴포넌트가 없는 URL입니다.

jwks_uri?

optional jwks_uri: string;

인가 서버의 JWK Set [JWK] 문서의 URL입니다. 참조된 문서에는 인가 서버의 서명을 검증하기 위해 클라이언트가 사용하는 서명 키가 포함되어 있습니다. 이 URL은 반드시 https 스킴을 사용해야 합니다.

op_policy_uri?

optional op_policy_uri: string;

op_tos_uri?

optional op_tos_uri: string;

registration_endpoint?

optional registration_endpoint: string;

인가 서버의 OAuth 2.0 동적 클라이언트 등록 엔드포인트 URL [RFC7591].

response_modes_supported?

optional response_modes_supported: string[];

이 인가 서버가 지원하는 OAuth 2.0 response_mode 값의 목록을 포함하는 JSON 배열입니다. "OAuth 2.0 Multiple Response Type Encoding Practices" [OAuth.Responses]에서 명시되어 있습니다.

생략된 경우 기본값은 ["query", "fragment"]입니다. "form_post" 응답 모드는 "OAuth 2.0 Form Post Response Mode" [OAuth.FormPost]에서 정의되어 있습니다.

response_types_supported

response_types_supported: string[];

이 인가 서버가 지원하는 OAuth 2.0 response_type 값의 목록을 포함하는 JSON 배열입니다. 배열 값은 "OAuth 2.0 Dynamic Client Registration Protocol" [RFC7591]에서 정의된 response_types 파라미터와 동일하게 사용됩니다.

revocation_endpoint?

optional revocation_endpoint: string;

인가 서버의 OAuth 2.0 토큰 폐기 엔드포인트 URL [RFC7009].

revocation_endpoint_auth_methods_supported?

optional revocation_endpoint_auth_methods_supported: string[];

revocation_endpoint_auth_signing_alg_values_supported?

optional revocation_endpoint_auth_signing_alg_values_supported: string[];

scope_supported?

optional scope_supported: string[];

service_documentation?

optional service_documentation: string;

token_endpoint

token_endpoint: string;

인가 서버의 토큰 엔드포인트 URL [RFC6749]. 암시적(implicit) grant type만 지원하는 경우를 제외하고 필수입니다.

참고

https://rfc-editor.org/rfc/rfc6749#section-3.2

token_endpoint_auth_methods_supported?

optional token_endpoint_auth_methods_supported: string[];

token_endpoint_auth_signing_alg_values_supported?

optional token_endpoint_auth_signing_alg_values_supported: string[];

ui_locales_supported?

optional ui_locales_supported: string[];

userinfo_endpoint?

optional userinfo_endpoint: string;

OpenID Connect userinfo 엔드포인트의 URL입니다. 이 엔드포인트는 인증된 사용자에 대한 정보를 가져오는 데 사용됩니다.

참고

https://datatracker.ietf.org/doc/html/rfc8414