Guides
OIDC Configuration

OIDC Configuration Guide

This document outlines the configuration parameters for integrating with Optare SSO using OpenID Connect.

Discovery Endpoint

We provide a standard OIDC discovery document which can be used to automatically configure most clients.

URL: /.well-known/openid-configuration Example: https://id.optare.one/.well-known/openid-configuration

Endpoints

EndpointPathMethodDescription
Authorization/oauth/authorizeGETStarts the OAuth 2.0 flow.
Token/oauth/tokenPOSTExchanges code for tokens.
UserInfo/oauth/userinfoGETReturns user profile information.
JWKS/.well-known/jwks.jsonGETReturns public keys for verifying ID tokens.
Revocation/oauth/revokePOSTRevokes access or refresh tokens.
Introspection/oauth/introspectPOSTValidates a token (RFC 7662).
End Session/oauth/logoutGETLogs the user out of the SSO session.

Parameters

Authorization Request (/oauth/authorize)

ParameterRequiredDescription
client_idYesYour application's Client ID.
redirect_uriYesMust match one of the URIs registered for your client.
response_typeYesMust be code.
scopeYesSpace-separated list of scopes. Must include openid.
stateRecommendedRandom string to prevent CSRF.
nonceYes (if openid scope is used)Random string to associate client session with ID Token.
code_challengeRecommendedPKCE code challenge.
code_challenge_methodRecommendedMust be S256 (preferred) or plain.

Token Request (/oauth/token)

CAUTION Optare only supports client_secret_post authentication. You must send client_id and client_secret in the POST body, not in the HTTP Authorization header.

ParameterRequiredDescription
grant_typeYesauthorization_code or refresh_token.
codeYes (for auth code)The code received from the authorization endpoint.
redirect_uriYesMust match the one used in the authorization request.
client_idYesYour application's Client ID (must be in POST body).
client_secretYesYour application's Client Secret (must be in POST body).
code_verifierYes (if PKCE used)The verifier used to generate the challenge.

Token Endpoint Authentication Methods:

MethodSupportedDescription
client_secret_post✅ YesCredentials in POST body (required)
client_secret_basic❌ NoHTTP Basic Auth header (not supported)

Supported Scopes

ScopeDescription
openidRequired for OIDC. Returns ID Token.
profileAccess to name, picture, locale.
emailAccess to email address and verification status.
offline_accessReturns a Refresh Token for long-lived access.
addressUser's address information.
phoneUser's phone number.

Product Scopes

You can also request access to specific products. These scopes determine which licenses are returned in the UserInfo response.

  • crm
  • analytics
  • admin
  • marketing
  • support

Token Handling

ID Token

The ID Token is a standard JWT signed with RS256. It contains:

  • iss: Issuer URL
  • sub: User ID
  • aud: Client ID
  • exp, iat, auth_time: Timestamps
  • nonce: The nonce provided in the authorization request.
  • organization_id: The context organization ID.

Access Token

The Access Token is a JWT used to access the UserInfo endpoint and other APIs.