Identity_Providers_OidcInfo
The Providers.OidcInfo structure contains information about an OIDC identity provider. OIDC is a discovery protocol for OAuth2 configuration metadata, so Providers.OidcInfo contains additional discovered OAuth2 metadata.
{
"discovery_endpoint": "string",
"logout_endpoint": "string",
"auth_endpoint": "string",
"token_endpoint": "string",
"public_key_uri": "string",
"client_id": "string",
"client_secret": "string",
"claim_map": {
"claim_map": {
"claim_map": [
"string"
]
}
},
"issuer": "string",
"authentication_method": "string",
"auth_query_params": {
"auth_query_params": [
"string"
]
}
}
Endpoint to retrieve the provider metadata
The endpoint to use for terminating the user's session at the identity provider. This value is automatically derived from the metadata information provided by the OIDC discovery endpoint. This field is optional because it was added in a newer version than its parent node.
Authentication/authorization endpoint of the provider
Token endpoint of the provider
Endpoint to retrieve the provider public key for validation
Client identifier to connect to the provider
The secret shared between the client and the provider
The map used to transform an OAuth2 claim to a corresponding claim that vCenter Server understands. Currently only the key "perms" is supported. The key "perms" is used for mapping the "perms" claim of incoming JWT. The value is another map with an external group as the key and a vCenter Server group as value.
The identity provider namespace. It is used to validate the issuer in the acquired OAuth2 token
The Providers.Oauth2AuthenticationMethod structure contains the possible types of OAuth2 authentication methods.
CLIENT_SECRET_BASIC : Clients that have received a client_secret value from the Authorization Server, authenticate with the Authorization Server in accordance with Section 3.2.1 of OAuth 2.0 [RFC6749] using the HTTP Basic authentication scheme.
CLIENT_SECRET_POST : Clients that have received a client_secret value from the Authorization Server, authenticate with the Authorization Server in accordance with Section 3.2.1 of OAuth 2.0 [RFC6749] by including the Client Credentials in the request body.
CLIENT_SECRET_JWT : Clients that have received a client_secret value from the Authorization Server, create a JWT using an HMAC SHA algorithm, such as HMAC SHA-256. The HMAC (Hash-based Message Authentication Code) is calculated using the octets of the UTF-8 representation of the client_secret as the shared key.
PRIVATE_KEY_JWT : Clients that have registered a public key sign a JWT using that key. The client authenticates in accordance with JSON Web Token (JWT) Profile for OAuth 2.0 Client Authentication and Authorization Grants [OAuth.JWT] and Assertion Framework for OAuth 2.0 Client Authentication and Authorization Grants [OAuth.Assertions].
key/value pairs that are to be appended to the authEndpoint request.
How to append to authEndpoint request: If the map is not empty, a "?" is added to the endpoint URL, and combination of each k and each string in the v is added with an "&" delimiter. Details:
- If the value contains only one string, then the key is added with "k=v".
- If the value is an empty list, then the key is added without a "=v".
- If the value contains multiple strings, then the key is repeated in the query-string for each string in the value.