Aller au contenu
XID

Premiers pas

Inscrivez-vous sur XID Cloud, créez une application et vérifiez ses jetons.

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 XidProvider avec l’issuer https://xid.dev et votre ID client, puis vérifiez les jetons d’accès côté backend avec authenticateRequest.
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')

Saisissez votre recherche

Utilisez les touches fléchées pour naviguerAppuyez sur Entrée pour sélectionnerAppuyez sur Échap pour fermer