Chris Straw
SHARE:

My Notes: Working with OpenIddict Identity

https://documentation.openiddict.com/

Example Configuration Endpoint

 
https://demo.identity.io/.well-known/openid-configuration
{
  "issuer": "https://demo.identity.io/",
  "authorization_endpoint": "https://demo.identity.io/connect/authorize",
  "token_endpoint": "https://demo.identity.io/connect/token",
  "introspection_endpoint": "https://demo.identity.io/connect/introspect",
  "end_session_endpoint": "https://demo.identity.io/connect/logout",
  "userinfo_endpoint": "https://demo.identity.io/connect/userinfo",
  "jwks_uri": "https://demo.identity.io/.well-known/jwks",
  "grant_types_supported": [
    "authorization_code",
    "implicit",
    "client_credentials",
    "refresh_token"
  ],
  "response_types_supported": [
    "code",
    "code id_token",
    "code id_token token",
    "code token"
  ],
  "response_modes_supported": [
    "form_post",
    "fragment",
    "query"
  ],
  "scopes_supported": [
    "openid",
    "offline_access",
    "email",
    "profile",
    "roles",
    "licenseAppApi"
  ],
  "claims_supported": [
    "aud",
    "exp",
    "iat",
    "iss",
    "sub"
  ],
  "id_token_signing_alg_values_supported": [
    "RS256"
  ],
  "code_challenge_methods_supported": [
    "S256"
  ],
  "subject_types_supported": [
    "public"
  ],
  "token_endpoint_auth_methods_supported": [
    "client_secret_basic",
    "client_secret_post"
  ],
  "introspection_endpoint_auth_methods_supported": [
    "client_secret_basic",
    "client_secret_post"
  ],
  "claims_parameter_supported": false,
  "request_parameter_supported": false,
  "request_uri_parameter_supported": false,
  "authorization_response_iss_parameter_supported": true
}

PCKE Flow
POST FormData to get back Token Data

 
https://demo.identity.io/connect/token

Form Data Example:

 
grant_type=authorization_code&client_id={{client id}}&code_verifier={{verifier code}}&code={{auth code}}&redirect_uri=https%3A%2F%2Fdemo.myawesome-app.io%2Fauthorization

Prefix constants from Openiddict
ept: = Endpoint
gt: = Grant Type
rst: = Response Type
scp: = Scope

All Constants -> OpenIddictConstants.cs

 
public static class Prefixes
{
	public const string Endpoint = "ept:";
	public const string GrantType = "gt:";
	public const string ResponseType = "rst:";
	public const string Scope = "scp:";
}