Add GitLab Selfhosted Identity Provider​
Add GitLab Selfhosted Identity Provider
Header Parameters
x-zitadel-orgid string
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.
application/json
application/grpc
application/grpc-web+proto
Request Body required
issuer string
name string
clientId string
Client id generated by GitLab
clientSecret string
Client secret generated by GitLab
scopes string[]
The scopes requested by ZITADEL during the request to GitLab
providerOptions object
Request Body required
issuer string
name string
clientId string
Client id generated by GitLab
clientSecret string
Client secret generated by GitLab
scopes string[]
The scopes requested by ZITADEL during the request to GitLab
providerOptions object
Request Body required
issuer string
name string
clientId string
Client id generated by GitLab
clientSecret string
Client secret generated by GitLab
scopes string[]
The scopes requested by ZITADEL during the request to GitLab
providerOptions object
Responses
- 200
- 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-06-13T06:44:37.842Z",
"changeDate": "2024-06-13T06:44:37.842Z",
"resourceOwner": "69629023906488334"
},
"id": "string"
}
Schema
Example (from schema)
Schema
details object
id string
{
"details": {
"sequence": "2",
"creationDate": "2024-06-13T06:44:37.843Z",
"changeDate": "2024-06-13T06:44:37.843Z",
"resourceOwner": "69629023906488334"
},
"id": "string"
}
Schema
Example (from schema)
Schema
details object
id string
{
"details": {
"sequence": "2",
"creationDate": "2024-06-13T06:44:37.843Z",
"changeDate": "2024-06-13T06:44:37.843Z",
"resourceOwner": "69629023906488334"
},
"id": "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/gitlab_self_hosted
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/management/v1/idps/gitlab_self_hosted' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <TOKEN>' \
--data-raw '{
"issuer": "string",
"name": "GitLab",
"clientId": "client-id",
"clientSecret": "secret",
"scopes": [
"openid",
"profile",
"email"
],
"providerOptions": {
"isLinkingAllowed": true,
"isCreationAllowed": true,
"isAutoCreation": true,
"isAutoUpdate": true,
"autoLinking": "AUTO_LINKING_OPTION_UNSPECIFIED"
}
}'
python / requests
curl -L -X POST 'https://$CUSTOM-DOMAIN/management/v1/idps/gitlab_self_hosted' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <TOKEN>' \
--data-raw '{
"issuer": "string",
"name": "GitLab",
"clientId": "client-id",
"clientSecret": "secret",
"scopes": [
"openid",
"profile",
"email"
],
"providerOptions": {
"isLinkingAllowed": true,
"isCreationAllowed": true,
"isAutoCreation": true,
"isAutoUpdate": true,
"autoLinking": "AUTO_LINKING_OPTION_UNSPECIFIED"
}
}'
go / native
curl -L -X POST 'https://$CUSTOM-DOMAIN/management/v1/idps/gitlab_self_hosted' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <TOKEN>' \
--data-raw '{
"issuer": "string",
"name": "GitLab",
"clientId": "client-id",
"clientSecret": "secret",
"scopes": [
"openid",
"profile",
"email"
],
"providerOptions": {
"isLinkingAllowed": true,
"isCreationAllowed": true,
"isAutoCreation": true,
"isAutoUpdate": true,
"autoLinking": "AUTO_LINKING_OPTION_UNSPECIFIED"
}
}'
nodejs / axios
curl -L -X POST 'https://$CUSTOM-DOMAIN/management/v1/idps/gitlab_self_hosted' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <TOKEN>' \
--data-raw '{
"issuer": "string",
"name": "GitLab",
"clientId": "client-id",
"clientSecret": "secret",
"scopes": [
"openid",
"profile",
"email"
],
"providerOptions": {
"isLinkingAllowed": true,
"isCreationAllowed": true,
"isAutoCreation": true,
"isAutoUpdate": true,
"autoLinking": "AUTO_LINKING_OPTION_UNSPECIFIED"
}
}'
ruby / Net::HTTP
curl -L -X POST 'https://$CUSTOM-DOMAIN/management/v1/idps/gitlab_self_hosted' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <TOKEN>' \
--data-raw '{
"issuer": "string",
"name": "GitLab",
"clientId": "client-id",
"clientSecret": "secret",
"scopes": [
"openid",
"profile",
"email"
],
"providerOptions": {
"isLinkingAllowed": true,
"isCreationAllowed": true,
"isAutoCreation": true,
"isAutoUpdate": true,
"autoLinking": "AUTO_LINKING_OPTION_UNSPECIFIED"
}
}'
csharp / RestSharp
curl -L -X POST 'https://$CUSTOM-DOMAIN/management/v1/idps/gitlab_self_hosted' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <TOKEN>' \
--data-raw '{
"issuer": "string",
"name": "GitLab",
"clientId": "client-id",
"clientSecret": "secret",
"scopes": [
"openid",
"profile",
"email"
],
"providerOptions": {
"isLinkingAllowed": true,
"isCreationAllowed": true,
"isAutoCreation": true,
"isAutoUpdate": true,
"autoLinking": "AUTO_LINKING_OPTION_UNSPECIFIED"
}
}'
php / cURL
curl -L -X POST 'https://$CUSTOM-DOMAIN/management/v1/idps/gitlab_self_hosted' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <TOKEN>' \
--data-raw '{
"issuer": "string",
"name": "GitLab",
"clientId": "client-id",
"clientSecret": "secret",
"scopes": [
"openid",
"profile",
"email"
],
"providerOptions": {
"isLinkingAllowed": true,
"isCreationAllowed": true,
"isAutoCreation": true,
"isAutoUpdate": true,
"autoLinking": "AUTO_LINKING_OPTION_UNSPECIFIED"
}
}'
java / OkHttp
curl -L -X POST 'https://$CUSTOM-DOMAIN/management/v1/idps/gitlab_self_hosted' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <TOKEN>' \
--data-raw '{
"issuer": "string",
"name": "GitLab",
"clientId": "client-id",
"clientSecret": "secret",
"scopes": [
"openid",
"profile",
"email"
],
"providerOptions": {
"isLinkingAllowed": true,
"isCreationAllowed": true,
"isAutoCreation": true,
"isAutoUpdate": true,
"autoLinking": "AUTO_LINKING_OPTION_UNSPECIFIED"
}
}'
powershell / RestMethod
curl -L -X POST 'https://$CUSTOM-DOMAIN/management/v1/idps/gitlab_self_hosted' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <TOKEN>' \
--data-raw '{
"issuer": "string",
"name": "GitLab",
"clientId": "client-id",
"clientSecret": "secret",
"scopes": [
"openid",
"profile",
"email"
],
"providerOptions": {
"isLinkingAllowed": true,
"isCreationAllowed": true,
"isAutoCreation": true,
"isAutoUpdate": true,
"autoLinking": "AUTO_LINKING_OPTION_UNSPECIFIED"
}
}'