Zum Inhalt springen

Erste Schritte

Verbinden Sie eine Anwendung über OIDC Discovery und Hosted Auth mit XID.XID.

Als Markdown anzeigen

Basis-URLs

XID ist ein Identitätsanbieter. Die Instanzdomain ist OIDC-Aussteller, API-Basis-URL, Hosted Auth-Basis-URL und Konsolen-Basis-URL. Organisationen liefern Richtlinie, Branding, Mitgliedschaft und Ressourcenisolierung.

Lesen Sie zuerst /.well-known/openid-configuration von der Instanzdomain. Das Discovery-Dokument liefert Ihrer Anwendung die Autorisierungs-, Token-, Userinfo-, Logout- und JWKS-Endpunkte dieses Ausstellers.

Oberfläche Pfad Verwenden
OIDC-Discovery /.well-known/openid-configuration Lesen Sie die Aussteller-Metadaten, bevor Sie eine Relying Party konfigurieren.
Autorisierung /authorize Benutzer zum einheitlichen Hosted Auth-Ablauf weiterleiten.
Token /token Autorisierungscode oder Refresh-Token austauschen.
Userinfo /userinfo Ansprüche eines gültigen Access-Tokens lesen.
Management-API /v1/* Organisationsressourcen aus Ihrem Backend verwalten.

Minimale Integration

  • Erstellen Sie eine OIDC-Anwendung und registrieren Sie exakte Redirect-URI-Werte.
  • Verwenden Sie den Autorisierungscode-Ablauf mit PKCE S256 für Browser- und native Clients.
  • ID-Token und Access-Token gegen Aussteller und JWKS-URI validieren.
  • Speichern Sie Refresh-Token serverseitig oder in einem sicheren nativen Zugangsdaten-Speicher.

Autorisierungsanfrage

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')
Navigation

Suchbegriff eingeben...

Mit den Pfeiltasten navigierenEingabetaste zum AuswählenEscape zum Schließen