## ListSSOConfigurations `client.Organizations.SSOConfigurations.List(ctx, params) (*SSOConfigurationsPage[SSOConfiguration], error)` **post** `/gitpod.v1.OrganizationService/ListSSOConfigurations` Lists and filters SSO configurations for an organization. Use this method to: - View all SSO providers - Monitor authentication status - Audit security settings - Manage provider configurations ### Examples - List active configurations: Shows all active SSO providers. ```yaml organizationId: "b0e12f6c-4c67-429d-a4a6-d9838b5da047" pagination: pageSize: 20 ``` - List by provider type: Shows custom SSO configurations. ```yaml organizationId: "b0e12f6c-4c67-429d-a4a6-d9838b5da047" pagination: pageSize: 20 token: "next-page-token-from-previous-response" ``` ### Parameters - `params OrganizationSSOConfigurationListParams` - `OrganizationID param.Field[string]` Body param: organization_id is the ID of the organization to list SSO configurations for. - `Token param.Field[string]` Query param - `PageSize param.Field[int64]` Query param - `Pagination param.Field[OrganizationSSOConfigurationListParamsPagination]` Body param - `Token string` Token for the next set of results that was returned as next_token of a PaginationResponse - `PageSize int64` Page size is the maximum number of results to retrieve per page. Defaults to 25. Maximum 100. ### Returns - `type SSOConfiguration struct{…}` - `ID string` id is the unique identifier of the SSO configuration - `IssuerURL string` issuer_url is the URL of the IdP issuer - `OrganizationID string` - `ProviderType ProviderType` provider_type defines the type of the SSO configuration - `const ProviderTypeUnspecified ProviderType = "PROVIDER_TYPE_UNSPECIFIED"` - `const ProviderTypeBuiltin ProviderType = "PROVIDER_TYPE_BUILTIN"` - `const ProviderTypeCustom ProviderType = "PROVIDER_TYPE_CUSTOM"` - `State SSOConfigurationState` state is the state of the SSO configuration - `const SSOConfigurationStateUnspecified SSOConfigurationState = "SSO_CONFIGURATION_STATE_UNSPECIFIED"` - `const SSOConfigurationStateInactive SSOConfigurationState = "SSO_CONFIGURATION_STATE_INACTIVE"` - `const SSOConfigurationStateActive SSOConfigurationState = "SSO_CONFIGURATION_STATE_ACTIVE"` - `AdditionalScopes []string` additional_scopes are extra OIDC scopes requested from the identity provider during sign-in. - `Claims map[string, string]` claims are key/value pairs that defines a mapping of claims issued by the IdP. - `ClaimsExpression string` claims_expression is a CEL (Common Expression Language) expression evaluated against the OIDC token claims during login. When set, the expression must evaluate to true for the login to succeed. The expression has access to a `claims` variable containing all token claims as a map. Example: `claims.email_verified && claims.email.endsWith("@example.com")` - `ClientID string` client_id is the client ID of the OIDC application set on the IdP - `DisplayName string` - `EmailDomain string` - `EmailDomains []string` ### 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"), ) page, err := client.Organizations.SSOConfigurations.List(context.TODO(), gitpod.OrganizationSSOConfigurationListParams{ OrganizationID: gitpod.F("b0e12f6c-4c67-429d-a4a6-d9838b5da047"), Pagination: gitpod.F(gitpod.OrganizationSSOConfigurationListParamsPagination{ PageSize: gitpod.F(int64(20)), }), }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", page) } ``` #### Response ```json { "pagination": { "nextToken": "nextToken" }, "ssoConfigurations": [ { "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" ] } ] } ```