Authentifiez vos utilisateurs avec leur compte Orneos via OpenID Connect et OAuth 2.1 (Authorization Code + PKCE S256 obligatoire).
1. Découverte et points de terminaison
Le fournisseur OpenID Connect d’Orneos publie sa configuration standard à l’adresse https://orneos.eu/.well-known/openid-configuration. L’émetteur (iss) des jetons JWT signés en RS256 est toujours https://orneos.eu.
La page d’autorisation et l’écran de consentement sont servis sur https://login.orneos.eu/oauth/authorize, tandis que les appels serveur-à-serveur (/oauth/token, /oauth/userinfo, /oauth/revoke, /oauth/jwks) s’effectuent sur https://orneos.eu.
Toutes les applications tierces (confidentielles comme publiques) doivent utiliser PKCE (RFC 7636) avec la méthode S256. Les requêtes sans code_challenge ou utilisant plain sont refusées.
Générez un code_verifier aléatoire (43 à 128 caractères URL-safe), calculez son empreinte SHA-256 encodée en base64url sans remplissage (code_challenge), puis redirigez l’utilisateur vers https://login.orneos.eu/oauth/authorize.
response_type=code et code_challenge_method=S256 obligatoires
Après le consentement de l’utilisateur, Orneos redirige vers votre redirect_uri avec ?code=...&state=.... Le code d’autorisation est valable 120 secondes et à usage unique.
Échangez-le sur POST https://orneos.eu/oauth/token en fournissant votre code_verifier. Vous recevez un access_token (1 h), un id_token JWT signé en RS256, et un refresh_token (90 jours, à rotation unique).
Chaque appel grant_type=refresh_token invalide immédiatement le jeton utilisé et en renvoie un nouveau. Si un refresh_token déjà consommé est rejoué, toute la session de l’application pour cet utilisateur est révoquée par sécurité.
Appelez GET https://orneos.eu/oauth/userinfo avec l’en-tête Authorization: Bearer <access_token> pour récupérer les informations correspondant aux scopes autorisés par l’utilisateur.
Pour déconnecter un utilisateur ou révoquer ses accès côté serveur, envoyez son refresh_token ou son access_token à POST https://orneos.eu/oauth/revoke.