Documentation

Démarrage rapide

De l'application déclarée au premier appel authentifié, en cinq étapes.

Ce guide va de zéro au premier appel réussi. Il prend le cas le plus courant — une application web (SPA) qui connecte un utilisateur — et renvoie vers les guides détaillés quand un choix dépend de votre plateforme.

Déclarer l'application

Dans la console Oreus, créez une application Third-party du type qui correspond à votre plateforme (voir Configuration). Notez l'App ID — c'est votre client_id.

Déclarez ensuite :

  • l'URI de redirection exacte de votre application ;
  • dans l'onglet Permissions, les scopes dont vous aurez besoin. Pour ce guide : read:account et read:organizations.

Un scope de ressource API oublié dans Permissions n'est pas une erreur : il est ignoré en silence à la connexion. La liste complète est dans Scopes.

Connecter l'utilisateur

Redirigez le navigateur vers l'endpoint d'autorisation avec PKCE :

GET https://oreus-sso.dev2.dev-id.fr/oidc/auth
  ?client_id=<APP_ID>
  &redirect_uri=<REDIRECT_URI>
  &response_type=code
  &scope=openid profile email offline_access urn:logto:scope:organizations read:account read:organizations
  &resource=<API_RESOURCE>
  &prompt=consent
  &state=<aléatoire>
  &code_challenge=<BASE64URL(SHA256(code_verifier))>
  &code_challenge_method=S256

Trois paramètres sont faciles à oublier et font échouer la suite sans message clair : resource (sans lui, le jeton ne vaut pas pour l'API), prompt=consent (sans lui, pas de refresh token) et les scopes de ressource (read:…).

Au retour, échangez le code contre les jetons :

POST https://oreus-sso.dev2.dev-id.fr/oidc/token
Content-Type: application/x-www-form-urlencoded

grant_type=authorization_code
&code=<CODE>
&redirect_uri=<REDIRECT_URI>
&client_id=<APP_ID>
&code_verifier=<VERIFIER>

Vous avez un access_token, un id_token et un refresh_token. Le détail du flow, et la variante client confidentiel, sont dans Le flow.

Choisir l'organisation

L'access token ne suffit pas pour l'API : elle attend un jeton porté par une organisation. Lisez le claim organizations de l'access token (ou de l'id_token) pour connaître celles de l'utilisateur, puis échangez le refresh token en précisant l'organisation :

POST https://oreus-sso.dev2.dev-id.fr/oidc/token
Content-Type: application/x-www-form-urlencoded

grant_type=refresh_token
&client_id=<APP_ID>
&refresh_token=<REFRESH_TOKEN>
&organization_id=<ORG_ID>
&resource=<API_RESOURCE>

La réponse contient un nouveau refresh token : remplacez l'ancien, il est désormais invalide.

Premier appel

curl https://oreus-v1-dev.dev2.dev-id.fr/api/v1/external/account \
  -H "Authorization: Bearer $ORGANIZATION_TOKEN"

Si vous obtenez le profil de l'utilisateur, tout est en place. Sinon, la page Erreurs dit quoi vérifier selon le code de réponse.

Et ensuite

  • Parcourez les domaines dans la sidebar — chaque route indique le scope qu'elle exige, à ajouter dans Permissions et dans le paramètre scope.
  • Pour appeler des modèles ou des agents, passez par l'API Inférence : avec une clé API, et ce même jeton d'organisation en option pour que les appels soient facturés à l'utilisateur.

Sur cette page