RFC 8414 — Метаданные сервера авторизации — Versola Docs
VersolaVersola/docs
0.6.2versola.kzGitHub

RFC 8414 — Метаданные сервера авторизации

Discovery-эндпоинт OAuth 2.0

Спецификация: RFC 8414

Метаданные сервера авторизации позволяют клиентам обнаруживать возможности сервера авторизации и URL эндпоинтов — без ручной конфигурации.

Статус: Реализован

  • GET /.well-known/oauth-authorization-server
  • GET /.well-known/openid-configuration (псевдоним)

Оба эндпоинта возвращают один и тот же JSON-документ. Аутентификация не требуется.

Пример ответа

{
  "issuer": "https://id.example.com",
  "authorization_endpoint": "https://id.example.com/authorize",
  "token_endpoint": "https://id.example.com/token",
  "userinfo_endpoint": "https://id.example.com/userinfo",
  "jwks_uri": "https://id.example.com/.well-known/jwks.json",
  "introspection_endpoint": "https://id.example.com/introspect",
  "revocation_endpoint": "https://id.example.com/revoke",
  "pushed_authorization_request_endpoint": "https://id.example.com/par",
  "scopes_supported": ["openid", "profile", "email", "phone", "offline_access"],
  "response_types_supported": ["code", "code id_token"],
  "grant_types_supported": ["authorization_code", "client_credentials", "refresh_token"],
  "subject_types_supported": ["public", "pairwise"],
  "id_token_signing_alg_values_supported": ["RS256"],
  "token_endpoint_auth_methods_supported": ["client_secret_basic", "client_secret_post"],
  "claims_supported": ["sub", "iss", "aud", "exp", "iat", "jti", "nonce", "auth_time", "acr", "amr"]
}

Реализованные поля метаданных

Обязательные:

  • issuer — идентификатор сервера авторизации
  • authorization_endpoint — URL эндпоинта авторизации
  • token_endpoint — URL эндпоинта токена

Рекомендуемые:

  • jwks_uri — URL JWKS-эндпоинта
  • response_types_supported — список поддерживаемых значений response_type
  • grant_types_supported — список поддерживаемых типов авторизации
  • token_endpoint_auth_methods_supported
  • revocation_endpoint — URL эндпоинта отзыва токена
  • introspection_endpoint — URL эндпоинта интроспекции
  • scopes_supported — список поддерживаемых scope
  • code_challenge_methods_supported — ["S256", "plain"]
  • pushed_authorization_request_endpoint — URL эндпоинта pushed authorization request (RFC 9126)

Расширения OIDC (OpenID Connect Discovery):

  • userinfo_endpoint
  • id_token_signing_alg_values_supported
  • claims_supported
  • subject_types_supported