핵심 엔드포인트
| 엔드포인트 | 설명 |
|---|---|
/.well-known/openid-configuration |
현재 발급자의 OIDC 디스커버리입니다. |
/.well-known/oauth-protected-resource |
XID 호스팅 리소스 엔드포인트용 OAuth 보호 리소스 메타데이터. |
/jwks |
활성 및 순환 중인 kid를 포함한 인스턴스 공개 서명 키입니다. |
/authorize |
PKCE, state, nonce, PAR, Hosted Auth 전달을 지원하는 인가 엔드포인트입니다. |
/par |
일회용 request_uri 값을 사용하는 푸시 인가 요청입니다. |
/token |
인가 코드, 갱신 토큰, 클라이언트 자격 증명, 디바이스 코드, 토큰 교환입니다. |
/userinfo |
Bearer 또는 DPoP 액세스 토큰의 사용자 클레임입니다. |
/end_session |
등록된 로그아웃 후 리디렉션을 사용하는 RP 시작 로그아웃입니다. |
프로토콜 요구사항
- PKCE는 S256을 사용합니다. 일반 PKCE는 거부됩니다.
- 리디렉션 URI는 정확히 일치해야 합니다. 와일드카드는 허용되지 않습니다.
- 인가 코드는 한 번만 사용할 수 있습니다.
- 갱신 토큰은 사용할 때마다 순환되며 재사용이 발생하면 토큰 패밀리가 폐기됩니다.
- DPoP로 바인딩된 클라이언트는 token 및 resource 호출에 유효한 DPoP proof를 제시해야 합니다. Authorization request의
dpop_jkt는 authorization code exchange에 바인딩됩니다.
지원 수준
| 수준 | OAuth 및 OIDC 기능 |
|---|---|
| 구현됨 | 인가 코드, PKCE S256, refresh 회전, PAR, DPoP 증명 및 dpop_jkt 바인딩, 동적 클라이언트 등록, ID 토큰, userinfo, 하이브리드 응답 유형, 서명된 JAR 요청 객체, 서명된 JARM 응답, RARresource_access 인가 세부 정보, 토큰 교환 refresh 및 ID 토큰 발급, mTLS 클라이언트 인증, 프런트 채널 로그아웃. |
| 제공자 준비됨 | 디바이스 인가 폴링, Session Management check_session, CIBA 백채널 승인, FAPI 2.0 / 브라우저 기반 앱 프로필 게이트, OpenID Federation, Shared Signals는 제한적 최소 또는 provider-ready 부분집합을 노출합니다. GNAP, UMA, HEART, OpenID4VP, OpenID4VCI는 전체 프로필이 제공될 때까지 부정 또는 501 스텁을 반환합니다. |
| 계획됨 | 다운스트림 SaaS OIDC는 로컬에서 현재 일반 OIDC 기준선을 사용하지만, SaaS별 프로덕션 지원에는 여전히 실제 SaaS L4가 필요합니다. |
| 사용 중단 또는 미지원 | 암시적 흐름, 비밀번호 그랜트, plain PKCE, 와일드카드 리디렉트. |
역할 경계
| XID 역할 | 현재 공개 상태 |
|---|---|
| 고객 애플리케이션을 위한 OIDC / OAuth ID 공급자 | authorization code, PKCE S256, PAR, DPoP, JAR, JARM, RAR, discovery, JWKS, token, userinfo, introspection, revocation 커버리지로 로컬 및 Worker 라우트에 구현되어 있습니다. |
| Upstream 엔터프라이즈 OIDC relying party | 엔터프라이즈 연결에 대해 provider-ready 상태입니다. 프로덕션 지원에는 실제 IdP 설정과 callback L4가 필요합니다. |
| 소셜 OAuth relying party | GitHub, Google, Microsoft 계정, Apple에 대해 provider-ready 상태입니다. 공급자별 경계는 소셜 로그인을 참조하세요. |
| Downstream SaaS OIDC ID 공급자 | 일반 OIDC 기준선은 로컬에서 사용 가능합니다. 프로덕션 지원 주장을 하기 전에 SaaS별 앱 템플릿과 실제 SaaS L4가 여전히 필요합니다. |
클라이언트 유형
| 클라이언트 | 권장 흐름 |
|---|---|
| 웹 애플리케이션 | 서버 측 토큰 교환을 사용하는 인가 코드입니다. |
| SPA | PKCE S256을 사용하는 인가 코드입니다. |
| 네이티브 애플리케이션 | PKCE S256과 선언된 리디렉션을 사용하는 인가 코드입니다. |
| 머신 간 통신 | 범위가 제한된 클라이언트 자격 증명입니다. |
제한적 또는 최소 OAuth 및 OIDC 확장
| 수준 | 상태 |
|---|---|
| 어설션 grant | JWT bearer 및 SAML bearer 어설션 grant는 활성화되지 않습니다. 신뢰 루트가 있기 전까지 등록은 어설션 grant 메타데이터를 거부합니다. |
| GNAP, UMA, HEART, OpenID4VP, OpenID4VCI | 최소 경로 부분집합과 디스커버리 친화적 메타데이터를 노출합니다. 전체 프로필 핸들러가 제공될 때까지 지원되지 않는 작업은 명시적 오류를 반환합니다. |