What to give the identity provider, before or after registering
const url = 'https://example.com/v1/auth/providers/example/sign-in?kind=oidc';const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
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://example.com/v1/auth/providers/example/sign-in?kind=oidc' \ --header 'Authorization: Bearer <token>'The redirect URI (OIDC) or the ACS URL, entity ID and metadata URL (SAML) a provider under this providerId gets: the same before it’s registered, after, and after an unregister and a new registration. So an admin sets up the identity provider’s side first, then registers with what it gives back. kind is required until the provider is registered. Not mounted when the deployment can’t say.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”Query Parameters
Section titled “Query Parameters”oidc: an OpenID Connect identity provider people sign in with (Okta, Entra ID, Google, Keycloak…); its endpoints come from its discovery document. saml: a SAML 2.0 identity provider people sign in with.
The provider’s kind; default: the registered provider’s.
Responses
Section titled “Responses”What to give the identity provider.
What to give the identity provider so it can send people back, for a provider under this providerId: the same before it’s registered, after, and after an unregister and a new registration, so the identity provider’s side can be set up first. Not secrets: they’re in every sign-in’s browser redirects.
object
oidc: an OpenID Connect identity provider people sign in with (Okta, Entra ID, Google, Keycloak…); its endpoints come from its discovery document. saml: a SAML 2.0 identity provider people sign in with.
Whether a provider is registered under this providerId now.
Example
{ "kind": "oidc"}kind missing for a provider that isn’t registered, or a kind this deployment doesn’t sign in with (bad-input).
object
object
Stable machine-readable discriminant. Values match domain error codes (see docs/API-ROUTE-CONVENTIONS.md §4.3).
Optional, kind-specific.
object
Server-assigned request id; also echoed via X-Request-Id header.
Examplegenerated
{ "error": { "code": "example", "message": "example", "details": {}, "requestId": "example" }}Missing / malformed / expired / revoked bearer token.
object
object
Stable machine-readable discriminant. Values match domain error codes (see docs/API-ROUTE-CONVENTIONS.md §4.3).
Optional, kind-specific.
object
Server-assigned request id; also echoed via X-Request-Id header.
Examplegenerated
{ "error": { "code": "example", "message": "example", "details": {}, "requestId": "example" }}