OpenID Connect discovery document
GET
/.well-known/openid-configuration
const url = 'https://api.nsin.ir/.well-known/openid-configuration';const options = {method: 'GET'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url https://api.nsin.ir/.well-known/openid-configurationEverything an OIDC client needs to configure itself: the issuer, the endpoint URLs, and the response types, grant types, scopes and signing algorithms this provider supports.
Note that authorization_endpoint points at the NSIN panel
(https://panel.nsin.ir/oauth/authorize), not at this API — that step
is a page the user sees, not a request your server makes.
Cacheable for an hour.
Responses
Section titled “ Responses ”Discovery document.
Media type application/json
object
issuer
string
authorization_endpoint
string
token_endpoint
string
userinfo_endpoint
string
jwks_uri
string
revocation_endpoint
string
response_types_supported
Array<string>
response_modes_supported
Array<string>
grant_types_supported
Array<string>
subject_types_supported
Array<string>
code_challenge_methods_supported
Array<string>
token_endpoint_auth_methods_supported
Array<string>
scopes_supported
Array<string>
id_token_signing_alg_values_supported
Array<string>
claims_supported
Array<string>
authorization_response_iss_parameter_supported
boolean
Example
{ "issuer": "https://api.nsin.ir", "authorization_endpoint": "https://panel.nsin.ir/oauth/authorize", "token_endpoint": "https://api.nsin.ir/oauth/token", "userinfo_endpoint": "https://api.nsin.ir/oauth/userinfo", "jwks_uri": "https://api.nsin.ir/.well-known/jwks.json", "revocation_endpoint": "https://api.nsin.ir/oauth/revoke"}