Add Generic OIDC Identity Provider​
Add Generic OIDC Identity Provider
Request Body required
the OIDC issuer of the identity provider
client id generated by the identity provider
secret generated by the identity provider
the scopes requested by ZITADEL during the request on the identity provider
providerOptions object
Request Body required
the OIDC issuer of the identity provider
client id generated by the identity provider
secret generated by the identity provider
the scopes requested by ZITADEL during the request on the identity provider
providerOptions object
Request Body required
the OIDC issuer of the identity provider
client id generated by the identity provider
secret generated by the identity provider
the scopes requested by ZITADEL during the request on the identity provider
providerOptions object
- 200
- 403
- 404
- default
A successful response.
Schema
details object
{
"details": {
"sequence": "2",
"creationDate": "2024-03-27T06:43:23.431Z",
"changeDate": "2024-03-27T06:43:23.431Z",
"resourceOwner": "69629023906488334"
},
"id": "string"
}
Schema
details object
{
"details": {
"sequence": "2",
"creationDate": "2024-03-27T06:43:23.431Z",
"changeDate": "2024-03-27T06:43:23.431Z",
"resourceOwner": "69629023906488334"
},
"id": "string"
}
Schema
details object
{
"details": {
"sequence": "2",
"creationDate": "2024-03-27T06:43:23.432Z",
"changeDate": "2024-03-27T06:43:23.432Z",
"resourceOwner": "69629023906488334"
},
"id": "string"
}
Returned when the user does not have permission to access the resource.
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"
}
]
}
Returned when the resource does not exist.
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"
}
]
}
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/generic_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/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
}'
curl -L -X POST 'https://$CUSTOM-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
}'
curl -L -X POST 'https://$CUSTOM-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
}'
curl -L -X POST 'https://$CUSTOM-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
}'
curl -L -X POST 'https://$CUSTOM-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
}'
curl -L -X POST 'https://$CUSTOM-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
}'
curl -L -X POST 'https://$CUSTOM-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
}'
curl -L -X POST 'https://$CUSTOM-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
}'
curl -L -X POST 'https://$CUSTOM-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
}'