콘텐츠로 건너뛰기

시작하기

OIDC Discovery와 Hosted Auth로 애플리케이션을 XID에 연결합니다.

Markdown으로 보기

기본 URL

XID는 ID 공급자입니다. 인스턴스 도메인은 OIDC 발급자, API 기본 URL, Hosted Auth 기본 URL, 콘솔 기본 URL입니다. 조직은 정책, 브랜딩, 멤버십, 리소스 격리를 제공합니다.

먼저 인스턴스 도메인의 /.well-known/openid-configuration을 읽습니다. 디스커버리 문서는 해당 발급자의 인가, 토큰, 사용자 정보, 로그아웃, JWKS 엔드포인트를 애플리케이션에 제공합니다.

접점 경로 사용
OIDC 디스커버리 /.well-known/openid-configuration RP를 설정하기 전에 발급자 메타데이터를 읽습니다.
인가 /authorize 사용자를 통합 Hosted Auth 흐름으로 리디렉션합니다.
토큰 /token 인가 코드 또는 갱신 토큰을 교환합니다.
사용자 정보 /userinfo 유효한 액세스 토큰의 클레임을 읽습니다.
관리 API /v1/* 백엔드에서 조직 리소스를 관리합니다.

최소 연동

  • OIDC 애플리케이션을 만들고 정확한 리디렉션 URI 값을 등록합니다.
  • 브라우저 및 네이티브 클라이언트에는 PKCE S256을 사용하는 인가 코드 흐름을 사용하세요.
  • ID 토큰과 액세스 토큰을 발급자 및 JWKS URI에 대해 검증합니다.
  • 갱신 토큰은 서버 측 또는 안전한 네이티브 자격 증명 저장소에 저장하세요.

인가 요청

sequenceDiagram
  participant Browser
  participant RP
  participant XID
  RP->>Browser: /authorize + PKCE S256
  Browser->>XID: /authorize + PKCE S256
  XID->>Browser: /sign-in
  Browser->>XID: WebAuthn / SSO
  XID->>Browser: code
  Browser->>RP: code
  RP->>XID: /token + PKCE S256
  XID->>RP: ID token + access token
const authorizeUrl = new URL('https://xid.dev/authorize')
authorizeUrl.searchParams.set('client_id', clientId)
authorizeUrl.searchParams.set('redirect_uri', redirectUri)
authorizeUrl.searchParams.set('response_type', 'code')
authorizeUrl.searchParams.set('scope', 'openid profile email')
authorizeUrl.searchParams.set('code_challenge', codeChallenge)
authorizeUrl.searchParams.set('code_challenge_method', 'S256')
탐색

입력하여 검색...

화살표 키로 이동Enter 키로 선택Escape 키로 닫기