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:accountetread: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=S256Trois 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.