Skip to main content

Add Generic OIDC Identity Provider

Add Generic OIDC Identity Provider

Request Body required
  • name string
  • issuer string

    the OIDC issuer of the identity provider

  • clientId string

    client id generated by the identity provider

  • clientSecret string

    secret generated by the identity provider

  • scopes string[]

    the scopes requested by ZITADEL during the request on the identity provider

  • providerOptions object
  • isLinkingAllowed boolean

    Enable if users should be able to link an existing ZITADEL user with an external account.

  • isCreationAllowed boolean

    Enable if users should be able to create a new account in ZITADEL when using an external account.

  • isAutoCreation boolean

    Enable if a new account in ZITADEL should be created automatically when login with an external account.

  • isAutoUpdate boolean

    Enable if a the ZITADEL account fields should be updated automatically on each login.

  • isIdTokenMapping boolean
Responses

A successful response.


Schema
  • details object
  • sequence uint64

    on read: the sequence of the last event reduced by the projection

    on manipulation: the timestamp of the event(s) added by the manipulation

  • creationDate date-time

    on read: the timestamp of the first event of the object

    on create: the timestamp of the event(s) added by the manipulation

  • changeDate date-time

    on read: the timestamp of the last event reduced by the projection

    on manipulation: the

  • resourceOwner resource_owner is the organization an object belongs to
  • id string
POST /idps/generic_oidc

Authorization

type: oauth2flow: authorizationCodescopes: openid,urn:zitadel:iam:org:project:id:zitadel:aud

Request

Base URL
https://$ZITADEL_DOMAIN/admin/v1
Bearer Token
Content-Type
Body required
{
"name": "Google",
"issuer": "https://accounts.google.com/",
"clientId": "client-id",
"clientSecret": "secret",
"scopes": [
"openid",
"profile",
"email"
],
"providerOptions": {
"isLinkingAllowed": true,
"isCreationAllowed": true,
"isAutoCreation": true,
"isAutoUpdate": true
},
"isIdTokenMapping": true
}
Accept
curl -L -X POST 'https://$ZITADEL_DOMAIN/admin/v1/idps/generic_oidc' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <TOKEN>' \
--data-raw '{
"name": "Google",
"issuer": "https://accounts.google.com/",
"clientId": "client-id",
"clientSecret": "secret",
"scopes": [
"openid",
"profile",
"email"
],
"providerOptions": {
"isLinkingAllowed": true,
"isCreationAllowed": true,
"isAutoCreation": true,
"isAutoUpdate": true
},
"isIdTokenMapping": true
}'