Keycloak OIDC API (1.0.0)

Download OpenAPI specification:

A small subset of Keycloak APIs to handle OIDC protocol.

Get the well_known object.

Lists endpoints and other relevant configuration options

path Parameters
realm
required
string

The realm

Responses

Response samples

Content type
application/json
{
  • "issuer": "http://example.com",
  • "authorization_endpoint": "http://example.com",
  • "token_endpoint": "http://example.com",
  • "introspection_endpoint": "http://example.com",
  • "userinfo_endpoint": "http://example.com",
  • "end_session_endpoint": "http://example.com",
  • "frontchannel_logout_session_supported": true,
  • "frontchannel_logout_supported": true,
  • "jwks_uri": "http://example.com",
  • "check_session_iframe": "http://example.com",
  • "grant_types_supported": [
    ],
  • "acr_values_supported": [
    ],
  • "response_types_supported": [
    ],
  • "subject_types_supported": [
    ],
  • "id_token_signing_alg_values_supported": [
    ],
  • "id_token_encryption_alg_values_supported": [
    ],
  • "id_token_encryption_enc_values_supported": [
    ],
  • "userinfo_signing_alg_values_supported": [
    ],
  • "userinfo_encryption_alg_values_supported": [
    ],
  • "userinfo_encryption_enc_values_supported": [
    ],
  • "request_object_signing_alg_values_supported": [
    ],
  • "request_object_encryption_alg_values_supported": [
    ],
  • "request_object_encryption_enc_values_supported": [
    ],
  • "response_modes_supported": [
    ],
  • "registration_endpoint": "http://example.com",
  • "token_endpoint_auth_methods_supported": [
    ],
  • "token_endpoint_auth_signing_alg_values_supported": [
    ],
  • "introspection_endpoint_auth_methods_supported": [
    ],
  • "introspection_endpoint_auth_signing_alg_values_supported": [
    ],
  • "authorization_signing_alg_values_supported": [
    ],
  • "authorization_encryption_alg_values_supported": [
    ],
  • "authorization_encryption_enc_values_supported": [
    ],
  • "claims_supported": [
    ],
  • "claim_types_supported": [
    ],
  • "claims_parameter_supported": true,
  • "scopes_supported": [
    ],
  • "request_parameter_supported": true,
  • "request_uri_parameter_supported": true,
  • "require_request_uri_registration": true,
  • "code_challenge_methods_supported": [
    ],
  • "tls_client_certificate_bound_access_tokens": true,
  • "revocation_endpoint": "http://example.com",
  • "revocation_endpoint_auth_methods_supported": [
    ],
  • "revocation_endpoint_auth_signing_alg_values_supported": [
    ],
  • "backchannel_logout_supported": true,
  • "backchannel_logout_session_supported": true,
  • "device_authorization_endpoint": "http://example.com",
  • "backchannel_token_delivery_modes_supported": [
    ],
  • "backchannel_authentication_endpoint": "http://example.com",
  • "backchannel_authentication_request_signing_alg_values_supported": [
    ],
  • "require_pushed_authorization_requests": true,
  • "pushed_authorization_request_endpoint": "http://example.com",
  • "mtls_endpoint_aliases": {},
  • "authorization_response_iss_parameter_supported": true
}

Generate a user code

Generate a user code

path Parameters
realm
required
string

The realm

Request Body schema: application/x-www-form-urlencoded
required
client_id
required
string
client_secret
string
scope
string

Responses

Response samples

Content type
application/json
{}

Request Token.

Using the /token endpoint, poll for a token with the new device code grant type.

The link with the previous step is done with the device_code returned previously:

path Parameters
realm
required
string

The realm

Request Body schema: application/x-www-form-urlencoded
required
client_id
required
string
device_code
string
client_secret
string
grant_type
required
string
refresh_token
string
property name*
additional property
any

Responses

Response samples

Content type
application/json
{
  • "access_token": "string",
  • "expires_in": 0,
  • "refresh_expires_in": 0,
  • "refresh_token": "string",
  • "token_type": "string",
  • "id_token": "string",
  • "not-before-policy": 0,
  • "session_state": "string",
  • "scope": "string"
}