Mit XID Cloud beginnen
XID Cloud läuft unter https://xid.dev und ist kostenlos. Sie brauchen eine Organisation, eine Anwendung und ein paar Zeilen Code.
- Wählen Sie oben auf dieser Seite Kostenlos starten. Registrieren Sie sich und benennen Sie Ihre Organisation; XID legt sie an und öffnet die Konsole.
- Öffnen Sie in der Konsole Anwendungen und legen Sie eine Anwendung an. Registrieren Sie die exakte Weiterleitungs-URI Ihrer App und kopieren Sie die Client-ID.
- Umschließen Sie Ihre App mit
XidProvidermit dem Issuerhttps://xid.devund Ihrer Client-ID, und prüfen Sie Access Tokens im Backend mitauthenticateRequest.
import { XidProvider } from '@xid-kit/react'
export function App() {
return (
<XidProvider
mode="oidc"
issuer="https://xid.dev"
clientId="client_abc123"
redirectUri="https://app.example.com/auth/callback"
>
<Layout />
</XidProvider>
)
}import { authenticateRequest } from '@xid-kit/backend'
const state = await authenticateRequest(request, {
jwtKey: env.XID_JWKS_PUBLIC_KEY,
issuer: 'https://xid.dev',
})
if (!state.isSignedIn) return new Response('Unauthorized', { status: 401 })Die SDKs werden als Quellcode im XID-Repository verteilt. Jede Standard-OIDC-Bibliothek funktioniert ebenfalls mit den Endpunkten unten.
Auf einer selbst gehosteten Instanz verwenden Sie statt https://xid.dev Ihre eigene Instanzdomäne. Self-Hosting beschreibt die Bereitstellung.
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')