Bienvenue sur le serveur OAuth

Ce serveur implémente OAuth 2.0 :

Pour commencer

Pour utiliser ce serveur OAuth, veuillez nous contacter pour demander une application OAuth.

Veuillez fournir une brève description de l'application que vous créez, ainsi que les détails ci-dessous. Pas de soucis si vous n'êtes pas sûr - nous pouvons utiliser la description que vous fournissez pour vous aider.

  1. La type de client: public ou confidentiel ?
  2. Le type d'autorisation: autorisation ou identifiants client ?
  3. Les URI de redirection autorisés.
  4. Les ressources auxquelles vous souhaitez accéder. Veuillez explorer notre Documentation APIet nos API GraphQL.

Exemple (autorisation)

1. Générer un vérificateur de code PKCE et défier

// Generate a code verifier (random string)
const codeVerifier = crypto.randomUUID().replace(/-/g, '');

// Create a code challenge (SHA-256 hash of verifier)
const encoder = new TextEncoder();
const data = encoder.encode(codeVerifier);
const digest = await crypto.subtle.digest('SHA-256', data);
const codeChallenge = btoa(String.fromCharCode(...new Uint8Array(digest))).replace(/\+/g, '-').replace(/\//g, '_').replace(/=+$/, '');

2. Demande d'autorisation

GET /authorize/?response_type=code&client_id=YOUR_CLIENT_ID&redirect_uri=YOUR_REDIRECT_URI&code_challenge=CODE_CHALLENGE&code_challenge_method=S256

3. Code d'autorisation d'échange pour le jeton d'accès

POST /token/
Content-Type: application/x-www-form-urlencoded

grant_type=authorization_code&code=AUTH_CODE&redirect_uri=YOUR_REDIRECT_URI&client_id=YOUR_CLIENT_ID&code_verifier=YOUR_CODE_VERIFIER

4. Accéder à la ressource protégée

GET /resource/
Authorization: YOUR_ACCESS_TOKEN

Exemple (informations d'identification du client)

1. Identifiants Exchange pour un jeton d'accès

POST /token/
Authorization: Basic BASE64_ENCODED(client_id:client_secret)
Content-Type: application/x-www-form-urlencoded

grant_type=client_credentials

2. Accéder à la ressource protégée

GET /resource/
Authorization: YOUR_ACCESS_TOKEN

Exemple (appareil)

1. Autoriser l'appareil

POST /device-authorization/
Content-Type: application/x-www-form-urlencoded

client_id=YOUR_CLIENT_ID

Maintenant, l'appareil doit afficher ou communiquer user_code et le Verification_uri à l'utilisateur final. Appareils avec écrans peut afficher ces informations visuellement, alors que appareils sans écrans. peut utiliser des alternatives comme l'audio ou le Bluetooth.

         +-----------------------------------------------+
         |                                               |
         |  Using a browser on another device, visit:    |
         |  https://auth.example.com/device              |
         |                                               |
         |  And enter the code:                          |
         |  ETE39050                                     |
         |                                               |
         +-----------------------------------------------+

L'utilisateur visite le verification_uri (où ils doivent être/se connecter), présente le user_code et autorise l'appareil.

2. Authentifier l'appareil

Après avoir effectué la demande de device-authorization, l'appareil doit tenter d'acquérir un jeton d'accès toutes les quelques secondes (à un rythme spécifié par interval en secondes) en effectuant la requête suivante pendant que l'utilisateur autorise l'appareil.

POST /token/
Content-Type: application/x-www-form-urlencoded

client_id=YOUR_CLIENT_ID&device_code=DEVICE_CODE&grant_type=urn:ietf:params:oauth:grant-type:device_code

3. Accéder à la ressource protégée

GET /resource/
Authorization: YOUR_ACCESS_TOKEN

Ressources