Add Google Identity Provider​
Add Google Identity Provider
application/json
application/grpc
application/grpc-web+proto
Request Body required
name Google will be used as default, if no name is provided
Google will be used as default, if no name is provided
clientId string
Client id generated by Google
clientSecret string
Client secret generated by Google
scopes string[]
The scopes requested by ZITADEL during the request to Google
providerOptions object
Request Body required
name Google will be used as default, if no name is provided
Google will be used as default, if no name is provided
clientId string
Client id generated by Google
clientSecret string
Client secret generated by Google
scopes string[]
The scopes requested by ZITADEL during the request to Google
providerOptions object
Request Body required
name Google will be used as default, if no name is provided
Google will be used as default, if no name is provided
clientId string
Client id generated by Google
clientSecret string
Client secret generated by Google
scopes string[]
The scopes requested by ZITADEL during the request to Google
providerOptions object
Responses
- 200
- 403
- 404
- default
A successful response.
application/json
application/grpc
application/grpc-web+proto
Schema
Example (from schema)
Schema
details object
id string
{
"details": {
"sequence": "2",
"creationDate": "2024-03-27T10:05:52.649Z",
"changeDate": "2024-03-27T10:05:52.649Z",
"resourceOwner": "69629023906488334"
},
"id": "string"
}
Schema
Example (from schema)
Schema
details object
id string
{
"details": {
"sequence": "2",
"creationDate": "2024-03-27T10:05:52.649Z",
"changeDate": "2024-03-27T10:05:52.649Z",
"resourceOwner": "69629023906488334"
},
"id": "string"
}
Schema
Example (from schema)
Schema
details object
id string
{
"details": {
"sequence": "2",
"creationDate": "2024-03-27T10:05:52.649Z",
"changeDate": "2024-03-27T10:05:52.649Z",
"resourceOwner": "69629023906488334"
},
"id": "string"
}
Returned when the user does not have permission to access the resource.
application/json
application/grpc
application/grpc-web+proto
Schema
Example (from schema)
Schema
code int32
message string
details object[]
{
"code": 0,
"message": "string",
"details": [
{
"@type": "string"
}
]
}
Schema
Example (from schema)
Schema
code int32
message string
details object[]
{
"code": 0,
"message": "string",
"details": [
{
"@type": "string"
}
]
}
Schema
Example (from schema)
Schema
code int32
message string
details object[]
{
"code": 0,
"message": "string",
"details": [
{
"@type": "string"
}
]
}
Returned when the resource does not exist.
application/json
application/grpc
application/grpc-web+proto
Schema
Example (from schema)
Schema
code int32
message string
details object[]
{
"code": 0,
"message": "string",
"details": [
{
"@type": "string"
}
]
}
Schema
Example (from schema)
Schema
code int32
message string
details object[]
{
"code": 0,
"message": "string",
"details": [
{
"@type": "string"
}
]
}
Schema
Example (from schema)
Schema
code int32
message string
details object[]
{
"code": 0,
"message": "string",
"details": [
{
"@type": "string"
}
]
}
An unexpected error response.
application/json
application/grpc
application/grpc-web+proto
Schema
Example (from schema)
Schema
code int32
message string
details object[]
{
"code": 0,
"message": "string",
"details": [
{
"@type": "string"
}
]
}
Schema
Example (from schema)
Schema
code int32
message string
details object[]
{
"code": 0,
"message": "string",
"details": [
{
"@type": "string"
}
]
}
Schema
Example (from schema)
Schema
code int32
message string
details object[]
{
"code": 0,
"message": "string",
"details": [
{
"@type": "string"
}
]
}
POST /idps/google
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 / cURL
curl -L -X POST 'https://$CUSTOM-DOMAIN/admin/v1/idps/google' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <TOKEN>' \
--data-raw '{
"name": "Google",
"clientId": "client-id",
"clientSecret": "secret",
"scopes": [
"openid",
"profile",
"email"
],
"providerOptions": {
"isLinkingAllowed": true,
"isCreationAllowed": true,
"isAutoCreation": true,
"isAutoUpdate": true
}
}'
python / requests
curl -L -X POST 'https://$CUSTOM-DOMAIN/admin/v1/idps/google' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <TOKEN>' \
--data-raw '{
"name": "Google",
"clientId": "client-id",
"clientSecret": "secret",
"scopes": [
"openid",
"profile",
"email"
],
"providerOptions": {
"isLinkingAllowed": true,
"isCreationAllowed": true,
"isAutoCreation": true,
"isAutoUpdate": true
}
}'
go / native
curl -L -X POST 'https://$CUSTOM-DOMAIN/admin/v1/idps/google' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <TOKEN>' \
--data-raw '{
"name": "Google",
"clientId": "client-id",
"clientSecret": "secret",
"scopes": [
"openid",
"profile",
"email"
],
"providerOptions": {
"isLinkingAllowed": true,
"isCreationAllowed": true,
"isAutoCreation": true,
"isAutoUpdate": true
}
}'
nodejs / axios
curl -L -X POST 'https://$CUSTOM-DOMAIN/admin/v1/idps/google' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <TOKEN>' \
--data-raw '{
"name": "Google",
"clientId": "client-id",
"clientSecret": "secret",
"scopes": [
"openid",
"profile",
"email"
],
"providerOptions": {
"isLinkingAllowed": true,
"isCreationAllowed": true,
"isAutoCreation": true,
"isAutoUpdate": true
}
}'
ruby / Net::HTTP
curl -L -X POST 'https://$CUSTOM-DOMAIN/admin/v1/idps/google' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <TOKEN>' \
--data-raw '{
"name": "Google",
"clientId": "client-id",
"clientSecret": "secret",
"scopes": [
"openid",
"profile",
"email"
],
"providerOptions": {
"isLinkingAllowed": true,
"isCreationAllowed": true,
"isAutoCreation": true,
"isAutoUpdate": true
}
}'
csharp / RestSharp
curl -L -X POST 'https://$CUSTOM-DOMAIN/admin/v1/idps/google' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <TOKEN>' \
--data-raw '{
"name": "Google",
"clientId": "client-id",
"clientSecret": "secret",
"scopes": [
"openid",
"profile",
"email"
],
"providerOptions": {
"isLinkingAllowed": true,
"isCreationAllowed": true,
"isAutoCreation": true,
"isAutoUpdate": true
}
}'
php / cURL
curl -L -X POST 'https://$CUSTOM-DOMAIN/admin/v1/idps/google' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <TOKEN>' \
--data-raw '{
"name": "Google",
"clientId": "client-id",
"clientSecret": "secret",
"scopes": [
"openid",
"profile",
"email"
],
"providerOptions": {
"isLinkingAllowed": true,
"isCreationAllowed": true,
"isAutoCreation": true,
"isAutoUpdate": true
}
}'
java / OkHttp
curl -L -X POST 'https://$CUSTOM-DOMAIN/admin/v1/idps/google' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <TOKEN>' \
--data-raw '{
"name": "Google",
"clientId": "client-id",
"clientSecret": "secret",
"scopes": [
"openid",
"profile",
"email"
],
"providerOptions": {
"isLinkingAllowed": true,
"isCreationAllowed": true,
"isAutoCreation": true,
"isAutoUpdate": true
}
}'
powershell / RestMethod
curl -L -X POST 'https://$CUSTOM-DOMAIN/admin/v1/idps/google' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <TOKEN>' \
--data-raw '{
"name": "Google",
"clientId": "client-id",
"clientSecret": "secret",
"scopes": [
"openid",
"profile",
"email"
],
"providerOptions": {
"isLinkingAllowed": true,
"isCreationAllowed": true,
"isAutoCreation": true,
"isAutoUpdate": true
}
}'