CreateSSOConfiguration
organizations.sso_configurations.create(SSOConfigurationCreateParams**kwargs) -> SSOConfigurationCreateResponse
POST/gitpod.v1.OrganizationService/CreateSSOConfiguration
Creates or updates SSO configuration for organizational authentication.
Use this method to:
- Configure OIDC-based SSO providers
- Set up built-in providers (Google, GitHub, etc.)
- Define custom identity providers
- Manage authentication policies
Examples
-
Configure built-in Google SSO:
Sets up SSO using Google Workspace.
organizationId: "b0e12f6c-4c67-429d-a4a6-d9838b5da047" clientId: "012345678-abcdefghijklmnopqrstuvwxyz.apps.googleusercontent.com" clientSecret: "GOCSPX-abcdefghijklmnopqrstuvwxyz123456" issuerUrl: "https://accounts.google.com" emailDomain: "acme-corp.com" -
Configure custom OIDC provider:
Sets up SSO with a custom identity provider.
organizationId: "b0e12f6c-4c67-429d-a4a6-d9838b5da047" clientId: "acme-corp-gitpod" clientSecret: "secret-token-value" issuerUrl: "https://sso.acme-corp.com" emailDomain: "acme-corp.com"
Parameters
client_secret: str
client_secret is the client secret of the OIDC application set on the IdP
minLength1
additional_scopes: Optional[Sequence[str]]
additional_scopes are extra OIDC scopes to request from the identity provider during sign-in. These are appended to the default scopes (openid, email, profile).
claims_expression: Optional[str]
claims_expression is an optional CEL expression evaluated against OIDC token claims during login.
When set, the expression must evaluate to true for the login to succeed.
Example: claims.email_verified && claims.email.endsWith("@example.com")
maxLength4096
CreateSSOConfiguration
import os
from gitpod import Gitpod
client = Gitpod(
bearer_token=os.environ.get("GITPOD_API_KEY"), # This is the default and can be omitted
)
sso_configuration = client.organizations.sso_configurations.create(
client_id="012345678-abcdefghijklmnopqrstuvwxyz.apps.googleusercontent.com",
client_secret="GOCSPX-abcdefghijklmnopqrstuvwxyz123456",
issuer_url="https://accounts.google.com",
organization_id="b0e12f6c-4c67-429d-a4a6-d9838b5da047",
email_domain="acme-corp.com",
)
print(sso_configuration.sso_configuration){
"ssoConfiguration": {
"id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
"issuerUrl": "issuerUrl",
"organizationId": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
"providerType": "PROVIDER_TYPE_UNSPECIFIED",
"state": "SSO_CONFIGURATION_STATE_UNSPECIFIED",
"additionalScopes": [
"string"
],
"claims": {
"foo": "string"
},
"claimsExpression": "claimsExpression",
"clientId": "clientId",
"displayName": "displayName",
"emailDomain": "emailDomain",
"emailDomains": [
"sfN2.l.iJR-BU.u9JV9.a.m.o2D-4b-Jd.0Z-kX.L.n.S.f.UKbxB"
]
}
}Returns Examples
{
"ssoConfiguration": {
"id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
"issuerUrl": "issuerUrl",
"organizationId": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
"providerType": "PROVIDER_TYPE_UNSPECIFIED",
"state": "SSO_CONFIGURATION_STATE_UNSPECIFIED",
"additionalScopes": [
"string"
],
"claims": {
"foo": "string"
},
"claimsExpression": "claimsExpression",
"clientId": "clientId",
"displayName": "displayName",
"emailDomain": "emailDomain",
"emailDomains": [
"sfN2.l.iJR-BU.u9JV9.a.m.o2D-4b-Jd.0Z-kX.L.n.S.f.UKbxB"
]
}
}