Authenticate your users with their Orneos account using OpenID Connect and OAuth 2.1 (Authorization Code + mandatory S256 PKCE).
1. Discovery & Endpoints
The Orneos OpenID Connect provider publishes its configuration at https://orneos.eu/.well-known/openid-configuration. The issuer (iss) of RS256-signed JWT tokens is always https://orneos.eu.
Browser authorization and user consent take place on https://login.orneos.eu/oauth/authorize, while back-channel calls (/oauth/token, /oauth/userinfo, /oauth/revoke, /oauth/jwks) are served on https://orneos.eu.
Every third-party application (both confidential and public) must use PKCE (RFC 7636) with the S256 method. Requests without a code_challenge or using plain are rejected.
Generate a cryptographically random code_verifier (43 to 128 URL-safe characters), compute its base64url-encoded SHA-256 hash (code_challenge), and redirect the user to https://login.orneos.eu/oauth/authorize.
response_type=code and code_challenge_method=S256 are required
Once the user grants consent, Orneos redirects to your redirect_uri with ?code=...&state=.... The authorization code is valid for 120 seconds and is single-use.
Exchange it at POST https://orneos.eu/oauth/token along with your code_verifier. You receive an access_token (1 hour), an RS256-signed id_token, and a refresh_token (90 days, one-time rotation).
Every grant_type=refresh_token call immediately invalidates the used token and issues a new one. If an already-consumed refresh_token is replayed, the entire session family for that user and client is revoked.