Deprecated: Add OIDC Identity Provider (IDP)​
This endpoint has been deprecated and may be removed in future versions of the API.
Create a new identity provider configuration on the organization to enable your users to log in with social/enterprise login. The provider has to be OIDC-compliant. This configuration can only be used by the organization itself.
Header Parameters
The default is always the organization of the requesting user. If you like to get/set a result of another organization include the header. Make sure the user has permission to access the requested data.
Request Body required
Possible values: non-empty
and <= 200 characters
Possible values: [STYLING_TYPE_UNSPECIFIED
, STYLING_TYPE_GOOGLE
]
Default value: STYLING_TYPE_UNSPECIFIED
some identity providers specify the styling of the button to their login
Possible values: non-empty
and <= 200 characters
client id generated by the identity provider
Possible values: non-empty
and <= 200 characters
client secret generated by the identity provider
the OIDC issuer of the identity provider
the scopes requested by ZITADEL during the request on the identity provider
Possible values: [OIDC_MAPPING_FIELD_UNSPECIFIED
, OIDC_MAPPING_FIELD_PREFERRED_USERNAME
, OIDC_MAPPING_FIELD_EMAIL
]
Default value: OIDC_MAPPING_FIELD_UNSPECIFIED
definition which field is mapped to the display name of the user
Possible values: [OIDC_MAPPING_FIELD_UNSPECIFIED
, OIDC_MAPPING_FIELD_PREFERRED_USERNAME
, OIDC_MAPPING_FIELD_EMAIL
]
Default value: OIDC_MAPPING_FIELD_UNSPECIFIED
definition which field is mapped to the email of the user
Request Body required
Possible values: non-empty
and <= 200 characters
Possible values: [STYLING_TYPE_UNSPECIFIED
, STYLING_TYPE_GOOGLE
]
Default value: STYLING_TYPE_UNSPECIFIED
some identity providers specify the styling of the button to their login
Possible values: non-empty
and <= 200 characters
client id generated by the identity provider
Possible values: non-empty
and <= 200 characters
client secret generated by the identity provider
the OIDC issuer of the identity provider
the scopes requested by ZITADEL during the request on the identity provider
Possible values: [OIDC_MAPPING_FIELD_UNSPECIFIED
, OIDC_MAPPING_FIELD_PREFERRED_USERNAME
, OIDC_MAPPING_FIELD_EMAIL
]
Default value: OIDC_MAPPING_FIELD_UNSPECIFIED
definition which field is mapped to the display name of the user
Possible values: [OIDC_MAPPING_FIELD_UNSPECIFIED
, OIDC_MAPPING_FIELD_PREFERRED_USERNAME
, OIDC_MAPPING_FIELD_EMAIL
]
Default value: OIDC_MAPPING_FIELD_UNSPECIFIED
definition which field is mapped to the email of the user
Request Body required
Possible values: non-empty
and <= 200 characters
Possible values: [STYLING_TYPE_UNSPECIFIED
, STYLING_TYPE_GOOGLE
]
Default value: STYLING_TYPE_UNSPECIFIED
some identity providers specify the styling of the button to their login
Possible values: non-empty
and <= 200 characters
client id generated by the identity provider
Possible values: non-empty
and <= 200 characters
client secret generated by the identity provider
the OIDC issuer of the identity provider
the scopes requested by ZITADEL during the request on the identity provider
Possible values: [OIDC_MAPPING_FIELD_UNSPECIFIED
, OIDC_MAPPING_FIELD_PREFERRED_USERNAME
, OIDC_MAPPING_FIELD_EMAIL
]
Default value: OIDC_MAPPING_FIELD_UNSPECIFIED
definition which field is mapped to the display name of the user
Possible values: [OIDC_MAPPING_FIELD_UNSPECIFIED
, OIDC_MAPPING_FIELD_PREFERRED_USERNAME
, OIDC_MAPPING_FIELD_EMAIL
]
Default value: OIDC_MAPPING_FIELD_UNSPECIFIED
definition which field is mapped to the email of the user
- 200
- default
A successful response.
Schema
details object
{
"details": {
"sequence": "2",
"creationDate": "2024-04-08T09:12:37.719Z",
"changeDate": "2024-04-08T09:12:37.719Z",
"resourceOwner": "69629023906488334"
},
"idpId": "69234230193872955"
}
Schema
details object
{
"details": {
"sequence": "2",
"creationDate": "2024-04-08T09:12:37.719Z",
"changeDate": "2024-04-08T09:12:37.719Z",
"resourceOwner": "69629023906488334"
},
"idpId": "69234230193872955"
}
Schema
details object
{
"details": {
"sequence": "2",
"creationDate": "2024-04-08T09:12:37.719Z",
"changeDate": "2024-04-08T09:12:37.719Z",
"resourceOwner": "69629023906488334"
},
"idpId": "69234230193872955"
}
An unexpected error response.
Schema
details object[]
{
"code": 0,
"message": "string",
"details": [
{
"@type": "string"
}
]
}
Schema
details object[]
{
"code": 0,
"message": "string",
"details": [
{
"@type": "string"
}
]
}
Schema
details object[]
{
"code": 0,
"message": "string",
"details": [
{
"@type": "string"
}
]
}
POST /idps/oidc
Authorization
name: OAuth2type: oauth2scopes:openid,urn:zitadel:iam:org:project:id:zitadel:aud
flows: { "authorizationCode": { "authorizationUrl": "$CUSTOM-DOMAIN/oauth/v2/authorize", "tokenUrl": "$CUSTOM-DOMAIN/oauth/v2/token", "scopes": { "openid": "openid", "urn:zitadel:iam:org:project:id:zitadel:aud": "urn:zitadel:iam:org:project:id:zitadel:aud" } } }
Request
Request
curl -L -X POST 'https://$CUSTOM-DOMAIN/management/v1/idps/oidc' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <TOKEN>' \
--data-raw '{
"name": "google",
"stylingType": "STYLING_TYPE_UNSPECIFIED",
"clientId": "string",
"clientSecret": "string",
"issuer": "https://accounts.google.com",
"scopes": [
"openid",
"profile",
"email"
],
"displayNameMapping": "OIDC_MAPPING_FIELD_UNSPECIFIED",
"usernameMapping": "OIDC_MAPPING_FIELD_UNSPECIFIED",
"autoRegister": true
}'
curl -L -X POST 'https://$CUSTOM-DOMAIN/management/v1/idps/oidc' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <TOKEN>' \
--data-raw '{
"name": "google",
"stylingType": "STYLING_TYPE_UNSPECIFIED",
"clientId": "string",
"clientSecret": "string",
"issuer": "https://accounts.google.com",
"scopes": [
"openid",
"profile",
"email"
],
"displayNameMapping": "OIDC_MAPPING_FIELD_UNSPECIFIED",
"usernameMapping": "OIDC_MAPPING_FIELD_UNSPECIFIED",
"autoRegister": true
}'
curl -L -X POST 'https://$CUSTOM-DOMAIN/management/v1/idps/oidc' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <TOKEN>' \
--data-raw '{
"name": "google",
"stylingType": "STYLING_TYPE_UNSPECIFIED",
"clientId": "string",
"clientSecret": "string",
"issuer": "https://accounts.google.com",
"scopes": [
"openid",
"profile",
"email"
],
"displayNameMapping": "OIDC_MAPPING_FIELD_UNSPECIFIED",
"usernameMapping": "OIDC_MAPPING_FIELD_UNSPECIFIED",
"autoRegister": true
}'
curl -L -X POST 'https://$CUSTOM-DOMAIN/management/v1/idps/oidc' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <TOKEN>' \
--data-raw '{
"name": "google",
"stylingType": "STYLING_TYPE_UNSPECIFIED",
"clientId": "string",
"clientSecret": "string",
"issuer": "https://accounts.google.com",
"scopes": [
"openid",
"profile",
"email"
],
"displayNameMapping": "OIDC_MAPPING_FIELD_UNSPECIFIED",
"usernameMapping": "OIDC_MAPPING_FIELD_UNSPECIFIED",
"autoRegister": true
}'
curl -L -X POST 'https://$CUSTOM-DOMAIN/management/v1/idps/oidc' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <TOKEN>' \
--data-raw '{
"name": "google",
"stylingType": "STYLING_TYPE_UNSPECIFIED",
"clientId": "string",
"clientSecret": "string",
"issuer": "https://accounts.google.com",
"scopes": [
"openid",
"profile",
"email"
],
"displayNameMapping": "OIDC_MAPPING_FIELD_UNSPECIFIED",
"usernameMapping": "OIDC_MAPPING_FIELD_UNSPECIFIED",
"autoRegister": true
}'
curl -L -X POST 'https://$CUSTOM-DOMAIN/management/v1/idps/oidc' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <TOKEN>' \
--data-raw '{
"name": "google",
"stylingType": "STYLING_TYPE_UNSPECIFIED",
"clientId": "string",
"clientSecret": "string",
"issuer": "https://accounts.google.com",
"scopes": [
"openid",
"profile",
"email"
],
"displayNameMapping": "OIDC_MAPPING_FIELD_UNSPECIFIED",
"usernameMapping": "OIDC_MAPPING_FIELD_UNSPECIFIED",
"autoRegister": true
}'
curl -L -X POST 'https://$CUSTOM-DOMAIN/management/v1/idps/oidc' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <TOKEN>' \
--data-raw '{
"name": "google",
"stylingType": "STYLING_TYPE_UNSPECIFIED",
"clientId": "string",
"clientSecret": "string",
"issuer": "https://accounts.google.com",
"scopes": [
"openid",
"profile",
"email"
],
"displayNameMapping": "OIDC_MAPPING_FIELD_UNSPECIFIED",
"usernameMapping": "OIDC_MAPPING_FIELD_UNSPECIFIED",
"autoRegister": true
}'
curl -L -X POST 'https://$CUSTOM-DOMAIN/management/v1/idps/oidc' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <TOKEN>' \
--data-raw '{
"name": "google",
"stylingType": "STYLING_TYPE_UNSPECIFIED",
"clientId": "string",
"clientSecret": "string",
"issuer": "https://accounts.google.com",
"scopes": [
"openid",
"profile",
"email"
],
"displayNameMapping": "OIDC_MAPPING_FIELD_UNSPECIFIED",
"usernameMapping": "OIDC_MAPPING_FIELD_UNSPECIFIED",
"autoRegister": true
}'
curl -L -X POST 'https://$CUSTOM-DOMAIN/management/v1/idps/oidc' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <TOKEN>' \
--data-raw '{
"name": "google",
"stylingType": "STYLING_TYPE_UNSPECIFIED",
"clientId": "string",
"clientSecret": "string",
"issuer": "https://accounts.google.com",
"scopes": [
"openid",
"profile",
"email"
],
"displayNameMapping": "OIDC_MAPPING_FIELD_UNSPECIFIED",
"usernameMapping": "OIDC_MAPPING_FIELD_UNSPECIFIED",
"autoRegister": true
}'