Changing the default JWT claim for the OIDC user ID
Change the sub JSON Web Token (JWT) claim for the OpenID Connect (OIDC) user ID under the options.yml file’s core section.
By default, when a user signs on to the Policy Editor with OIDC, the Policy Editor uses the sub JWT claim to:
-
Extract the
subclaim value from the ID token and:-
Record the
subclaim value in the Creator column of the Commits table when the user makes commits (see Branch Manager > Version Control).
-
-
Make a request to the UserInfo endpoint and:
-
Use the
subclaim value from the response as the user data. -
Display the user data in the upper-right corner of the Policy Editor.
-
If your organization wants to use a non-default claim for the OIDC user ID, such as email, define this claim by completing the following steps.
|
You must configure your OIDC provider to include the claim in both the |
Steps
-
Make a copy of the default options file:
$ cp config/options.yml my-options.yml -
In the
coresection of the new options file, uncomment the exampleAuthentication.oidcUserIdFieldfield that uses theemailclaim:core: # Use a JWT claim other than "sub" for the OIDC User ID. # # Authentication.oidcUserIdField: jwt_claim # Authentication.oidcUserIdField: "email"
-
(Optional): Update the
emailclaim to your organization’s preferred claim.
-
-
Stop the Policy Editor:
$ bin/stop-server -
Run
setupusing the--optionsFileargument and customize all other options to meet your needs:$ bin/setup demo \ --adminUsername admin \ --generateSelfSignedCertificate \ --decisionPointSharedSecret pingauthorize \ --hostname <pap-hostname> \ --port <pap-port> \ --adminPort <admin-port> \ --licenseKeyFile <path-to-license> \ --optionsFile my-options.yml -
Start the Policy Editor:
$ bin/start-server -
In the Policy Editor, go to Branch Manager > Version Control and commit a policy change.
-
Verify that your claim is being used:
-
Select any branch and verify that the new claim value appears in the upper-right corner of the Policy Editor.
-
Verify that the new claim value appears in the Creator column of the Commits table for the commit you made in step 6.
-