Documentation
Connexion

Configuration

Type d'application, URI de redirection et permissions à déclarer côté Oreus.

Toute intégration commence par une application déclarée dans la console Oreus. Le type choisi détermine le flow disponible — il ne se change pas après coup.

Choisir le type

Votre applicationType à créer
SPA (React, Vue…)Third-party app · Single page app
Mobile natif (iOS, Android)Third-party app · Native app
Backend qui connecte des utilisateursThird-party app · Traditional web
Service sans utilisateurMachine-to-Machine
API qui reçoit des jetonsCe n'est pas une application — voir Ressource API

Les trois premiers sont des clients publics ou confidentiels qui déclenchent une connexion. Une API qui se contente de valider des jetons n'en est pas une : elle se déclare comme ressource.

URI de redirection

Elles doivent correspondre au caractère près à ce que le client envoie. Un slash final, un port différent, http au lieu de https : tout écart produit invalid_redirect_uri avant même l'écran de connexion.

PlateformeFormat attendu
Webhttps://votre-app.exemple/callback
Mobile natifvotre-scheme://callback
Backendhttps://votre-backend.exemple/oidc/callback

Sur mobile, le schéma personnalisé impose le type Native : les types SPA et Traditional web n'acceptent que http/https.

Permissions

C'est ici que se joue le plus grand nombre d'échecs silencieux.

Pour une application third-party, les scopes ne sont accordés que s'ils sont déclarés dans l'onglet Permissions. Et selon la catégorie, l'omission ne se manifeste pas de la même façon :

CatégorieScope non déclaré
Profil utilisateurerreur visible à l'autorisation
Ressource APIignoré en silence
Organisationignoré en silence

Un scope ignoré donne une connexion réussie, des claims plausibles, et une fonctionnalité qui ne marche pas sans que rien ne l'explique. Le réflexe : comparer les scopes accordés (claim scope de l'access token) à ceux demandés.

openid et offline_access font exception — ils sont configurés automatiquement et n'apparaissent pas dans cet onglet.

Ressource API

Une API se déclare dans API resources, avec un identifiant qui sert d'audience :

http://localhost:3000/api/v1

Cet identifiant n'a pas besoin d'être joignable : c'est une chaîne, pas une adresse à appeler. Il doit en revanche être exactement celui que les clients envoient dans resource, sinon l'autorisation échoue en invalid_target.

Organisations

Pour qu'un utilisateur puisse obtenir un jeton d'organisation, il doit :

  1. être membre d'au moins une organisation ;
  2. y porter un rôle couvrant les permissions demandées ;
  3. et l'application doit avoir urn:logto:scope:organizations déclaré.

Si aucune organisation n'est proposée à la connexion, c'est l'un de ces trois points qui manque.

Sur cette page