Editing an application - OIDC
Use the Applications page to edit existing OpenID Connect (OIDC) applications.
Steps
- 
In the PingOne admin console, go to Applications > Applications and browse or search for the application that you want to edit. 
- 
Click the application entry to open the details panel. 
- 
On the Overview tab, click the Pencil icon, and enter or edit the following: Field Description Application Name A unique identifier for the application. Description (optional) A brief description of the application. Icon (optional) An image that represents the application. Use a file up to 1 MB in JPG, JPEG, GIF, or PNG format. Home Page URL The default home page for the application. Signon URL The URL to which the application redirects the end user for sign-on. To avoid issues with third-party cookies in some browsers, we recommend that you use a custom domain to give your PingOne environment the same parent domain as your authentication application. Learn more in Domains. 
- 
On the Configuration tab, click the Pencil icon, and enter or edit the following: Field Description Client ID The unique identifier for the application. Client Secret The shared secret for the application. Ensure that you protect the client secret and store it in a secure location. To update the client secret, click Generate New Secret. To revoke the previous client secret, click Revoke Previous Client Secret. Learn more in Rotating the client secret for an application. Environment ID The identifier for the environment that contains the application. Response Type Select Code, Token, or ID Token for the response type. Learn more in Response types. Grant Type Select Authorization Code, Implicit, Client Credentials, or Refresh Token, for the grant type. Learn more in Grant types. PKCE Enforcement Select a value for PKCE code challenge enforcement. This value determines how the application creates the code challenge from the code verifier. Learn more in PKCE enforcement. PKCE enforcement is available for Authorization Code grant type applications only. Refresh Token Configuration Select this option to enable the Refresh Token grant type. You can specify the following: - Refresh Duration
- 
The lifetime of the refresh tokens. If a value is not provided, the default value is 2592000, or 30 days. Valid values are between60and2147483647.
- Refresh Token Rolling Duration
- 
How long the application can use the refresh token grant type to obtain a new access token and a new refresh token after the most recent user authentication event. If a value is not provided, the refresh token is valid forever. Valid values are between 60and2147483647.
 The refresh token rolling duration must be longer than the refresh token duration. - Refresh Token Rolling Grace Period
- 
The amount of time that a rolled refresh token remains valid if the client failed to receive an updated one during a roll. Valid values are between 0and86400seconds. A value of0means that a refresh token becomes invalid after it’s rolled.
 Additional Refresh Token Replay Protection Outside of the optional rolling grace period, refresh tokens are intended for one-time use. For increased security, enable this option so that PingOne can invalidate both access and refresh tokens when a refresh token is reused. Learn more in Refresh token rotation. Redirect URIs The address to which PingOne forwards the OIDC response after authentication. The Redirect URI cannot contain a fragment component, such as #somedata. Learn more in Redirection endpoint in the IETF documentation.Allow Redirect URI patterns Use a wildcard for flexibility in managing redirect URIs. Learn more in Redirect URIs. Token Endpoint Authentication Method Select one of the following: - 
None 
- 
Client Secret Basic 
- 
Client Secret Post 
- 
Client Secret JWT 
- 
Private Key JWT 
 JSON Web Key Set Method Select JWKS URL or JWKS. Provide either the URL where PingOne can retrieve the JSON Web Key Set (JWKS) or the web key set itself. You can paste the JSON in one line or multiple lines. JWKS Method is required for an application to send asymmetrically signed request objects. To use Private Key JWT for Token Endpoint Authentication Method, PingOne reuses the same JWKS URL or JWKS to process the private key JSON Web Token (JWT). - 
If Token Endpoint Authentication Method is set to Private Key JWT, you must provide the JWKS Method. 
- 
If Token Endpoint Authentication Method is set to None, Client Secret Basic, Client Secret Post, or Client Secret JWT, if the JWKS Method is not provided and the application sends an RS256/384/512-signed request object to PingOne, PingOne returns an error. 
 Require Pushed Authorization Request Require the application to send its authorization requests directly to PingOne, without going through the browser, which can safeguard sensitive information from end-user devices. If Require Pushed Authorization Request is not selected, the application can send plain authorization requests or pushed authorization requests, but pushed authorization requests are not required. Learn more in Pushed authorization requests. Pushed Authorization Request Reference Timeout Specify how long the pushed authorization request should be valid. The default value is 60 seconds. Initiate Login URI The application’s login initiation endpoint for third-parties to begin the sign-on process for the application. If provided, PingOne redirects users to this URI to initiate SSO to PingOne. The application is responsible for implementing the relevant OIDC flow when the Initiate Login URI is requested. Learn more in Initiating Login from a Third Party in the OIDC specification. This URI is required if you want the application to show in the PingOne Application Portal. Learn more in Application portal. Target Link URI The URI for the application. If provided, PingOne redirects application users to this URI after the user is authenticated. The target_link_uriparameter value inInitiate Single Sign-On URLis also updated with the value specified here.Signoff URLs The URLs to which the browser can be redirected after a logout has been performed. If you include a post_logout_redirect_uriquery parameter in the/signoffrequest, with the same value that was set in the application, the browser will redirect the user to the matching URL.Request Parameter Signature Requirement Specify how the application sends the optional requestparameter in its authorization requests.Click Compare Options for a description of the different settings. - 
Default: Allows the application to send authorization requests with or without the requestparameter. If using therequestparameter, the application must include a digital signature.
- 
Allow unsigned request parameters: Allows the application to send authorization requests with or without the requestparameter. If using therequestparameter, the application has the option to include a digital signature or not.
- 
Require signed request parameters: Requires the application to use the requestparameter and include a digital signature of it in its authorization requests.
 Learn more in Request Parameter Signature Requirement. OpenID Connect Session Management Facilitate OIDC session management by allowing applications in the same browsing mode, such as private or normal browsing mode, to monitor the PingOne user session. Only applications running in the same browsing mode can monitor the PingOne user session. To use this option, your PingOne environment must be configured with a custom domain, such as sso.example.com, and the applications must be accessible under that domain. For example,apps.example.com/app1andapps.example.com/app2orapp1.example.comandapp2.example.com. Learn more in Setting up a custom domain.When enabled, the session_stateparameter is included in the PingOne authorization response with the session status, such asunchanged,changed, orerror. Learn more in OIDC session management in the PingOne API documentation and Best practices: Session management.- 
The default idle timeout is 30 days. To set an idle timeout of fewer than 30 days: - 
Build a PingOne DaVinci flow that includes the Return Success Response (Redirect Flows) node from the PingOne Authentication connector. 
- 
In the Return Success Response (Redirect Flows) node, set the Idle Timeout value to the desired amount of time, such as 5 minutes. 
- 
Assign the flow to the applicable applications. 
 
- 
- 
If a user session is deleted because of a PingOne session API request or is purged by the system, it doesn’t trigger a changedresponse.
 Request scopes to access multiple resources Enable this option to allow the application to request scopes from multiple custom resources in a single request. To use this option, any custom resources that the application requests access to must have the following configurations across all requested custom resources: - 
Overview tab: Access token time to live must be set to the same value. 
- 
Attributes tab: The mapping configuration of the subattribute must be the same.
- 
Attributes tab: Any other attribute using the same name in multiple custom resources must have the same mapping configurations. 
- 
Scopes tab: The scope names must be unique so that PingOne can determine which custom resource and associated scope that the application is attempting to access. 
- 
Permissions tab: For environments with PingOne Authorize, permissions names must be unique if Include user permissions in access tokens is enabled. 
 If any of these configurations aren’t consistent across the requested custom resources, the request results in an error. Include the x5t parameter in the header of access tokens, ID tokens, and JWT-based refresh token Select for PingOne to include the x5theader parameter in access tokens, ID tokens, and JWT-based refresh tokens. Enable this option if the application, custom resource, or both require thex5tparameter in the digital signature verification process.Terminate User Session by ID Token Enable this option to allow the application to send requests for PingOne to terminate end-user sessions at the /idpSignoffendpoint using only the ID token.The audience claim value in the ID token must match the client ID of the application so that PingOne can identify the session to be terminated. The application is not required to have access to the session token cookie. Learn more in the PingOne API documentation. CORS Settings Specifies the CORS options for the application. Learn more in Cross-origin resource sharing. - 
Allow any CORS-safe origin (default): Allows the application to access resources from a domain that is CORS-safelisted, according to the Fetch specification. 
- 
Allow specific origins: Allows the application to access resources from a specific domain. - 
Allowed origins: Specifies the allowed origin domains for CORS. You can specify a domain pattern or a valid IPv4 address. If you use a domain pattern, you can specify one wildcard to match incoming requests. You cannot use the wildcard on the domain name. For example, the following search patterns are valid: - 
https://*.test.com
- 
https://www.app*.test.com
 The following patterns are not valid: - 
https://test*.com
- 
https://www.app.test*.com
 
- 
 
- 
- 
Disallow all origins: Don’t allow the application to access resources from a cross-origin domain. 
 After you make changes to the CORS Settings, it can take several minutes for the new settings to take effect, due to time-to-live configuration on the resource. 
- 
On the Resources tab, click the Pencil icon and select the checkboxes to add appropriate OAuth scopes for the application. Click the Selected scopes tab to see the scopes that are currently selected for the application. The OAuth scopes determine the resources that the application can access. If you add OIDC scopes here, the application inherits the attributes associated with that scope. If the application uses the Refresh Token grant type, add the offline_accessscope to enable the application to request a refresh token from PingOne on a per-request basis. For example, when the application needs a refresh token, it includes theoffline_accessscope in its request, and PingOne includes a refresh token in its token response. However, when the application doesn’t need a refresh token, it doesn’t include the scope in the request, and PingOne therefore doesn’t include a refresh token in its token response. If theoffline_accessscope is not added to an application that uses the Refresh Token grant type, PingOne always includes a refresh token in its token response, whether the application needs a refresh token or not.To customize the lifetime of access tokens for applications, you must configure a custom resource, set the desired access token lifetime, and then add those scopes to the application. Learn more in Customizing access token lifetime. 
- 
On the Policies tab, click the Pencil icon and select the authentication policies for the application. If you have a DaVinci license, you can select PingOne policies or DaVinci flow policies, but not both. If you don’t have a DaVinci license, you’ll see PingOne policies only. To add one or more PingOne authentication policies, click the PingOne Policies tab. If the application was previously configured with one or more DaVinci flow policies, click Deselect all other Policies to remove them from the application and select the PingOne authentication policies you want to apply to the application. PingOne authentication policies are applied in the order in which they appear in the list. Click the Selected PingOne Policies tab, reorder the policies as needed, then click Save. To add one or more DaVinci flow policies, click the DaVinci Policies tab. If the application was previously configured with one or more PingOne authentication policies, click Deselect all other Policies to remove them from the application and and select the DaVinci flow policies you want to apply to the application. PingOne applies the first DaVinci flow policy in the list. Click the Selected DaVinci Policies tab, reorder the policies as needed, then click Save. For OAuth-based applications, you can specify another policy in the acr_valuesparameter in the authorization request. Theacr_valuesparameter specifies the sign-on policies that PingOne should use for authentication. You can include any policies assigned to the application. Specify either a single DaVinci policy by flow policy ID or one or more PingOne policies by name, separated by spaces or the encoded space character%20. For example,acr_values=d1210a6b0b2665dbaa5b652221badba2oracr_values=Single_Factor%20Multi_Factor.Learn more in Authentication policies for applications. 
- 
On the Attribute Mappings tab, click the Pencil icon, select a PingOne user attribute, and map it to an attribute in the application that you’re adding. Learn more in Customizing OIDC attributes for an application. - 
Enter an application attribute and then select the corresponding PingOne attribute from the list. 
- 
Click the Gear icon to use the expression builder to build an attribute mapping. Learn more in Using the expression builder. 
 
- 
- 
On the Access tab, click the Pencil icon and enter or edit the following: Field Description Application portal display Determines whether an application icon appears in the application portal even if the user is allowed to access the application in the application portal based on the group membership policy. Learn more in Application access control. Admin only access Specifies that a user with an administrator role is required to access the application. The user must have one of the following roles: - 
Organization Admin
- 
Environment Admin
- 
Identity Data Admin
- 
Client Application Developer
 Group membership policy Select the group membership policy for the application. Learn more in Groups. 
- 
- 
(Optional, for Workforce MFA use cases) To connect the OIDC application to your PingFederate instance, download the OIDC application properties file, and upload it to the relevant PingID adapter instance in PingFederate Learn more in Configuring a PingID adapter instance. 
- 
Click Save. 
- 
To enable the application, click the toggle at the top of the details panel to the right (blue). You can disable the application by clicking the toggle to the left (gray). If you selected Response Type = Code and Grant Type = Authorization Code, there is also an Integrate tab that you can use to test your configuration. Generate code snippets from this tab and copy them into a web application so that you can ensure that the authorization and authentication configuration is working as intended.