OpenID Connect/OAuth 2
PingOne integrates with applications that use standards-compliant protocols by taking on the role of an OpenID Connect provider and OAuth 2 authorization server. In this capacity, PingOne provides the framework for connected applications to access protected HTTP resources. For more information about OpenID Connect and OAuth 2, refer to the OpenID Connect 1.0 spec and the OAuth 2.0 Authorization Framework RFC6749.
The PingOne authorization endpoint /{{envID}}/as/authorize is used to interact with the resource owner and obtain an authorization grant. For more information and additional examples, refer to Authorization and authentication by application type.
OpenID Connect/OAuth2 data model
| Property | Type | Required? | Mutable? | Description |
|---|---|---|---|---|
|
String |
Optional |
Mutable |
Either a single DaVinci policy (identified by the flow policy ID), or one or more PingOne sign-on policies by name (space-separated). The PingOne sign-on policies can be the predefined sign-on policies, |
|
String |
Optional |
Mutable |
A JWT that contains a signed assertion with the application’s credentials. This property is required if the application’s |
|
String |
Optional |
Mutable |
A string that specifies the client assertion type. The value of this property must be set to |
|
String |
Required* |
Immutable |
The application’s UUID. *Note: This parameter is optional for |
|
String |
Required |
Immutable |
The application’s client secret. |
|
String |
Optional |
Immutable |
the authorization code returned by the authorization server. This property is required only if the |
|
String |
Optional |
Immutable |
Computed from the |
|
String |
Optional |
Mutable |
Specifies the computation logic used to generate the |
|
String |
Optional |
Immutable |
Used to create the |
|
String |
Optional |
Mutable |
The grant type of the token request. Options are |
|
String |
Optional* |
Mutable |
The previously issued ID token used to indicate the identity of the user. This is passed to the logout endpoint as a hint about the user’s current authenticated session with the client. *Note: This parameter is required for |
|
String |
Optional |
Mutable |
A login identifier to pre-fill the Username field of the sign-on screen. The string can be the UUID of an existing user in the environment, which results in the look-up of the user’s |
|
Token |
Optional |
Immutable |
Provides a way for the client to identify and authenticate the end-user without needing to encode the entire authentication request in a signed JWT. Using a separate token instead of the |
|
Parameter |
Optional |
Mutable |
Used by mobile applications leveraging PingOne MFA SDK. Refer to Implement automatic pairing of native app as MFA authenticator app. |
|
String |
Optional |
Mutable |
The maximum amount of time allowed (in seconds) since the user last authenticated. If the |
|
String |
Optional |
Immutable |
Used to associate a client session with a token to mitigate replay attacks. The value is passed through unmodified from the authentication request to the token. This is an optional property for authorization requests that return a code. |
|
String |
Optional |
Mutable |
The URL to which the browser is redirected after a logout has been performed. When |
|
String |
Optional |
Mutable |
Specifies whether the user is prompted to login for re-authentication. The prompt parameter can be used as a way to check for existing authentication, verifying that the user is still present for the current session. For |
|
String |
Required |
Mutable |
The URL of the return entry point of the application. |
|
Token |
Optional |
Immutable |
A JWT that enables OIDC/OAuth2 request parameters to be passed as a single, self-contained parameter. If the application’s
For more information, refer to Create a request property JWT. |
|
String |
Optional |
Mutable |
The mechanism for returning authorization response parameters from the authorization endpoint. Options are |
|
String |
Required |
Mutable |
The code or token type returned by an authorization request. Options are |
|
String |
Optional |
Mutable |
Permissions that determine the resources that the application can access. This parameter is not required, but it is needed to specify accessible resources. Refer to Authorization for details when using the |
|
String |
Optional |
Mutable |
Used to maintain state between the logout request and the callback to the endpoint specified by the |
|
String |
Required |
Immutable |
The security token that represents the identity of the PingFederate cluster (or other client type) that requires access to PingOne services. |
|
String |
Required |
Immutable |
The type of the security token provided in the |
|
String |
Required |
Immutable |
The token string. This is a required property for token introspection and token revocation. |
|
PingOne licenses can disable access to specific scopes (and their associated permissions) based on the capabilities allowed by the license package. For more information about restricted scopes, refer to Access services through scopes and roles. |
Application access control conditions
You can configure OpenID Connect applications for access control by setting the accessControl property on the application. For more information about accessControl properties, refer to Application Operations. When accessControl properties are set for an application, the user must meet the requirements specified by these application properties to get a token. If the user attempts to authenticate and the grant_type is either authorization_code or implicit, then the application’s accessControl conditions are evaluated to determine whether the user can be issued a token.
The token (or tokens) is minted if the user meets the application’s access control conditions. If the conditions are not met, the token (or tokens) is not issued and an ACCESS_FAILED error is returned. If access is denied, a USER.ACCESS_DENIED event is published; otherwise, a USER.ACCESS_ALLOWED event is published.
|
If the user already has an access token, application access restrictions are not applied to refresh token or to token introspection operations. |
For more information, refer to Control access to applications through roles and groups.
OpenID Connect/OAuth2 events generated
Refer to Audit Reporting Events for the events generated.
Response codes
| Code | Message |
|---|---|
200 |
Successful operation. |
201 |
Successfully created. |
204 |
Successfully removed. No content. |
400 |
The request could not be completed. |
401 |
You weren’t authenticated to perform this operation. |
403 |
You do not have permissions or are not licensed to make this request. |
404 |
The requested resource was not found. |
|
Applications in an environment configured to use a custom domain should use the custom domain URL in the |