---
title: "Premiers pas"
description: "Inscrivez-vous sur XID Cloud, créez une application et vérifiez ses jetons."
locale: "fr"
---

> Documentation Index
> Fetch the relevant documentation index at: https://xid.fngx.org/fr/llms.txt
> Use this file to discover all available pages before exploring further.

# Premiers pas

## 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`.

```tsx
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>
  )
}
```

```ts
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](/fr/self-hosting) 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

```mermaid
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
```

```js
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')
```

Source: https://xid.fngx.org/fr/getting-started/index.mdx
