OpenID Connect discovery document (OIDC Discovery 1.0 §3)
/.well-known/openid-configuration
Turns this authorization server into an OpenID provider as far as a relying party is concerned — the control an OpenAI ChatGPT Business or Enterprise admin needs to restrict a connector to their own domain. It restates `/.well-known/oauth-authorization-server` rather than configuring a second server: same `issuer`, endpoints, `openid`/`email`-inclusive scope catalog and S256-only PKCE rule, so a client reading either document reaches the same server. Public, unauthenticated, CORS-open and cached for one hour on the same terms as the other two `.well-known` documents. **Deliberately missing two members OIDC Discovery marks REQUIRED: `jwks_uri` and `id_token_signing_alg_values_supported`.** Both describe how to verify an ID token, and this server issues none — identity is read from `GET/POST /oauth/userinfo` instead, which OpenAI's own documentation names as the mandatory half (the ID token is the alternative). An absent member fails honestly; a present and false one would not. `subject_types_supported: ["public"]` matches what `/oauth/userinfo` actually returns: the same subject to every client, never a pairwise identifier.
Response Body
Exactly the claims /oauth/userinfo can return, and no more.
subemailemail_verified
S256
authorization_coderefresh_token
mcp:readmcp:writemcp:destructivemcp:toolsopenidemail
Always ["public"] — the subject is the same sub for every client, never pairwise.
public
noneclient_secret_postclient_secret_basic
curl -X GET 'https://api.elaichi.ai/.well-known/openid-configuration' \
-H 'Content-Type: application/json'const response = await fetch('https://api.elaichi.ai/.well-known/openid-configuration', {
method: 'GET',
headers: {
'Content-Type': 'application/json',
},
});
const data = await response.json();
console.log(data);import os
import requests
url = "https://api.elaichi.ai/.well-known/openid-configuration"
headers = {
"Content-Type": "application/json",
}
response = requests.get(url, headers=headers)
print(response.json())