## UpdateSSOConfiguration `client.Organizations.SSOConfigurations.Update(ctx, body) (*OrganizationSSOConfigurationUpdateResponse, error)` **post** `/gitpod.v1.OrganizationService/UpdateSSOConfiguration` Updates SSO provider settings and authentication rules. Use this method to: - Rotate client credentials - Update provider endpoints - Modify claim mappings - Change authentication policies - Toggle SSO enforcement ### Examples - Update credentials: Rotates client ID and secret. ```yaml ssoConfigurationId: "d2c94c27-3b76-4a42-b88c-95a85e392c68" clientId: "new-client-id" clientSecret: "new-client-secret" ``` - Update provider status: Activates or deactivates SSO provider. ```yaml ssoConfigurationId: "d2c94c27-3b76-4a42-b88c-95a85e392c68" state: SSO_CONFIGURATION_STATE_ACTIVE ``` ### Parameters - `body OrganizationSSOConfigurationUpdateParams` - `SSOConfigurationID param.Field[string]` sso_configuration_id is the ID of the SSO configuration to update - `AdditionalScopes param.Field[AdditionalScopesUpdate]` additional_scopes replaces the configured OIDC scopes when present. When absent (nil), scopes are left unchanged. When present with an empty scopes list, all additional scopes are cleared. - `Claims param.Field[map[string, string]]` claims are key/value pairs that defines a mapping of claims issued by the IdP. - `ClaimsExpression param.Field[string]` claims_expression is a CEL expression evaluated against OIDC token claims during login. When set, the expression must evaluate to true for the login to succeed. When present with an empty string, the expression is cleared. - `ClientID param.Field[string]` client_id is the client ID of the SSO provider - `ClientSecret param.Field[string]` client_secret is the client secret of the SSO provider - `DisplayName param.Field[string]` - `EmailDomain param.Field[string]` - `EmailDomains param.Field[[]string]` - `IssuerURL param.Field[string]` issuer_url is the URL of the IdP issuer - `State param.Field[SSOConfigurationState]` state is the state of the SSO configuration ### Returns - `type OrganizationSSOConfigurationUpdateResponse interface{…}` ### Example ```go package main import ( "context" "fmt" "github.com/gitpod-io/gitpod-sdk-go" "github.com/gitpod-io/gitpod-sdk-go/option" ) func main() { client := gitpod.NewClient( option.WithBearerToken("My Bearer Token"), ) ssoConfiguration, err := client.Organizations.SSOConfigurations.Update(context.TODO(), gitpod.OrganizationSSOConfigurationUpdateParams{ SSOConfigurationID: gitpod.F("d2c94c27-3b76-4a42-b88c-95a85e392c68"), ClientID: gitpod.F("new-client-id"), ClientSecret: gitpod.F("new-client-secret"), }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", ssoConfiguration) } ``` #### Response ```json {} ```