Commencer sur XID Cloud
XID Cloud fonctionne sur https://xid.dev et est gratuit. Il vous faut une organisation, une application et quelques lignes de code.
- Choisissez Commencer gratuitement en haut de cette page. Inscrivez-vous et nommez votre organisation ; XID la crée et ouvre la console.
- Dans la console, ouvrez Applications et créez une application. Enregistrez l’URI de redirection exacte de votre application et copiez son ID client.
- Enveloppez votre application dans
XidProvideravec l’issuerhttps://xid.devet votre ID client, puis vérifiez les jetons d’accès côté backend avecauthenticateRequest.
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 })Les SDK sont distribués sous forme de code source dans le dépôt XID. Toute bibliothèque OIDC standard fonctionne aussi avec les points de terminaison ci-dessous.
Sur une instance auto-hébergée, utilisez votre propre domaine d’instance au lieu de https://xid.dev. Auto-hébergement décrit le déploiement.
URL de base
XID est un fournisseur d’identité. Le domaine de l’instance est l’émetteur OIDC, l’URL de base API, l’URL de base de l’authentification hébergée et l’URL de base de la console. Les organisations fournissent la politique, la marque, les appartenances et l’isolation des ressources.
Commencez par lire /.well-known/openid-configuration depuis le domaine de l’instance. Le document de découverte donne à votre application les points de terminaison d’autorisation, de jeton, d’informations utilisateur, de déconnexion et JWKS pour cet émetteur.
| Interface | Chemin | Usage |
|---|---|---|
| Découverte OIDC | /.well-known/openid-configuration |
Lire les métadonnées de l’émetteur avant de configurer une relying party. |
| Autorisation | /authorize |
Rediriger les utilisateurs vers le flux unifié d’authentification hébergée. |
| Jeton | /token |
Échanger un code d’autorisation ou un jeton d’actualisation. |
| Userinfo | /userinfo |
Lire les revendications d’un jeton d’accès valide. |
| API de gestion | /v1/* |
Gérez les ressources de l’organisation depuis votre serveur. |
Intégration minimale
- Créez une application OIDC et enregistrez les valeurs exactes des URI de redirection.
- Utilisez le flux de code d’autorisation avec PKCE S256 pour les clients navigateur et natifs.
- Validez les jetons d’ID et les jetons d’accès avec l’émetteur et l’URI JWKS.
- Stocker les jetons d’actualisation côté serveur ou dans un magasin d’identifiants natif sécurisé.
Demande d’autorisation
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')