Allows a user to register a new OIDC provider for a root project. The OIDC provider is registered in the project which owns the access policy being used. The idpPrefix is used to create a unique idpId for this usage of the OIDC provider within the root project. The idpPrefix cannot be the same as any existing, suspended or non-suspended, OIDC provider records for this root project. This operation creates a trust relationship between the root project and the OIDC provider such that identity tokens from the OIDC provider will be accepted for token exchange. Access control is fine-grained, based on the project in which an OIDC provider is being created.
The auth token's access policy must allow action:use/createOidcProvider.
A human-friendly name for the identity provider.
List of OAuth 2.0 client ids for this provider that are permitted to exchange ID tokens for access tokens. The value of the aud claim in an ID token is checked against this list during token exchange.
Name of the claim in the ID tokens provided by this OIDC issuer whose value the STS should interpret as containing a user's group memberships, for authorization purposes. The value of the group membership claim in an ID token must be an array of strings, where each string is a unique, non-reassignable identifier for a group. When this property is not set, the STS does not interpret any claim from this provider as a group membership claim.
The OIDC issuer location URL.
- https://sts.eqix.equinix.comhttps://sts.eqix.equinix.com/v1/projects/{projectId}/oidcProviders
{ "name": "My OIDC Provider", "trustedClientIds": [ "my-oauth-client-id" ], "groupMembershipClaim": "groups", "issuerLocation": "https://example.com/oidc", "idpPrefix": "my-idp" }
Success
TEMPORARY: In the future, the STS will retrieve the provider's JWKS via standard OIDC Discovery mechanisms, and this will not be an input parameter!.
Uniquely identifies a trusted Identity Provider within a root project.
A string timestamp indicating when the resource was last updated. Formatted like: "2025-02-12T17:24:19.033772087Z"
A string indicating the principal who invoked an operation to create the resource.
The OIDC issuer location URL.
A human-friendly name for the identity provider.
A string timestamp indicating when the resource was created. Formatted like: "2025-02-12T17:24:19.033772087Z"
The value of the iss claim as returned by this provider. Must be unique within the root project.
An opaque string that represents the revision of a given resource. Each time the resource is updated, this value changes.
A string indicating the principal who last invoked an operation to update the resource.
- "ENABLED": the provider is trusted, and token exchange is enabled
- "SUSPENDED": token exchange for ID tokens from this provider is currently disabled
Name of the claim in the ID tokens provided by this OIDC issuer whose value the STS should interpret as containing a user's group memberships, for authorization purposes. The value of the group membership claim in an ID token must be an array of strings, where each string is a unique, non-reassignable identifier for a group. When this property is not set, the STS does not interpret any claim from this provider as a group membership claim.
List of OAuth 2.0 client ids for this provider that are permitted to exchange ID tokens for access tokens. The value of the aud claim in an ID token is checked against this list during token exchange.
{ "jwks": { "keys": [ … ] }, "idpId": "idp:my-idp", "updatedAt": "2024-01-15T12:00:00Z", "createdBy": "principal:ABCD-EFG-12345:idp:example-user", "issuerLocation": "https://example.com/oidc", "name": "My OIDC Provider", "createdAt": "2024-01-15T12:00:00Z", "issuerUri": "https://example.com/oidc", "rev": "abc123", "updatedBy": "principal:ABCD-EFG-12345:idp:example-user", "status": "ENABLED", "groupMembershipClaim": "groups", "trustedClientIds": [ "my-oauth-client-id" ], "jwksRetrievedAt": "2025-02-13T17:10:00.864707507Z" }