핵심 엔드포인트
| 엔드포인트 | 설명 |
|---|---|
/.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, 새로 고침 회전, PAR, DPoP 증명 및 dpop_jkt 바인딩, 동적 클라이언트 등록, ID 토큰, 사용자 정보, 하이브리드 응답 유형, 서명된 JAR 요청 개체, 서명된 JARM 응답, RAR resource_access 인증 세부정보, 토큰 교환, mTLS 클라이언트 인증, 전면 채널 및 후면 채널 로그아웃, 장치 흐름, 세션 관리, CIBA, 브라우저 기반 앱 프로필 게이트 및 FAPI 2.0 프로필 게이트. |
| 최소한의 구현 | OpenID Federation은 엔터티 메타데이터와 등록 경계만 노출합니다. 신뢰 체인 해결, 신뢰 앵커, 정책 처리 및 생산 상호 운용성은 구현되지 않습니다. |
| 계획됨 | 공유 신호, CAEP, RISC, GNAP, UMA, HEART, OpenID4VP 및 OpenID4VCI는 명시적인 501 오류를 반환하는 예약된 경로를 노출합니다. 이는 프로토콜 구현이 아닙니다. |
| 생산 증거 | 로컬 구현 및 적합성 게이트는 생산 인증이 아닙니다. 다운스트림 SaaS OIDC는 일반 OIDC 기준을 사용하지만 각 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 | 부정적인 경로와 메타데이터 스텁만 노출됩니다. 지원되지 않는 작업은 명시적인 501 unsupported_feature를 반환합니다. 기능적 프로토콜 지원은 주장되지 않습니다. |