Configuring a JWT Bearer Grant Processor Attribute Mapping Instance
When configuring an identity provider (IdP) connection for JSON Web Token (JWT) Bearer Grant Processors, you can determine which attributes the IdP sends in the JWT assertion.
The JWT Bearer Grant Processor connection type is used to configure single sign-on (SSO) from the macOS login. Learn more in Configuring Platform SSO for macOS in the PingOne documentation.
Before you begin
Before you configure a JWT Bearer Grant Processor IdP connection, you need to configure a JWT Bearer Grant Processor instance. Learn more in JWT Bearer Grant Processors.
Steps
Creating a JWT Bearer Grant Processor IdP Connection
-
In the PingFederate admin console, go to Authentication > Integration > IdP Connections.
-
Click Create a Connection.
-
On the Connection Type tab, select JWT Bearer Grant Processor and select a JWT Bearer Grant Processor instance in the list.
-
Click Next.
-
In the General Info tab, provide the information for your IdP.
Learn more in Identifying the partner
-
In the Extended Properties tab, add extended properties to the IdP connection.
Learn more in Populating extended property values for IdP connections.
-
In the JWT Bearer Grant Processor Attribute Mapping tab, click Configure JWT Bearer Grant Processor Attribute Mapping.
Attribute Contract tab
-
To add an attribute:
-
In the Extend the Contract field, enter the attribute value.
-
(Optional) To mask the values for this attribute returned from this connection in PingFederate logs, select Mask Values in Log.
-
Click Add.
-
-
When you’re done adding attributes, click Next.
Access Token Manager tab
-
To add an Access Token Manager, click Manage Access Token Management Instances.
Learn more in Managing access token management instances.
-
Click Next.
Data Store tab
Optionally set up datastore queries to supplement values returned from the access token attribute mapping source.
-
(Optional) In the Active Data Store list, select an existing datastore connection, and then click Next.
Learn more in Datastore query configuration.
-
(Optional) To configure a datastore connection, click Manager Data Stores.
Learn more in Managing datastores.
-
Click Next.
Contract Fulfillment tab
Map values from the JWTs to the attributes defined for the attribute contract.
-
For each JWT grant attribute, select the Source and Value for the attribute values.
-
When you’re done, click Next.
The following table describes the available mappings for each Source value:
| Source | Value | ||
|---|---|---|---|
Assertion |
Populates with attributes from the JWT. For example, to map the |
||
Context |
Populates with the available context of the transaction.
|
||
Extended Client Metadata |
Values are returned from the client record. |
||
LDAP, JDBC, or Other |
Populates with attributes you selected from the datastore. Select the preferred attribute from the list. |
||
Expression |
This option provides more complex mapping capabilities, such as transforming values into different formats. Select Expressions in the Source list, click Edit under Actions, and compose your OGNL expressions. All variables available for text entries are also available for expressions. Learn more in the description for Text. Expressions aren’t enabled by default. Learn more about enabling and editing OGNL expressions in Attribute mapping expressions. |
||
No Mapping |
Select this option to ignore the Value field. |
||
Text |
When selected, the text you enter is used at runtime. You can mix text with references to any of the values from the SSO token, using the When applicable, you can enter values from your datastore using the
|
Issuance Criteria tab
Individual attributes within policy contracts can further determine whether PingFederate approves or rejects requests. You can define those criteria to satisfy, or you can choose to skip this configuration.
-
In the Source list, select a source for the criterion.
The following table describes the Source options:
Source Description Assertion
Select to evaluate attributes from the IdP connection.
Context
Select to evaluate properties returned from the context of the transaction at runtime.
Because the HTTP Request context value is retrieved as a Java object instead of text, attribute mapping expressions are more appropriate to evaluate and return values.
Extended Properties
Select to evaluate OAuth client metadata.
JDBC, LDAP, or other types of datastore
Select to evaluate attributes returned from a data source
Mapped Attributes
Select to evaluate the mapped attributes.
-
In the Attribute Name list, select the attribute to evaluate.
-
In the Condition list, select the comparison method.
The available methods are:
-
equal to
-
equal to (case insensitive)
-
equal to DN
-
not equal to
-
not equal to (case insensitive)
-
not equal to DN
-
multi-value contains
-
multi-value contains (case insensitive)
-
multi-value contains DN
-
multi-value does not contain
-
multi-value does not contain (case insensitive)
-
multi-value does not contain DN
The first six conditions are intended for single-value attributes. Use one of the multi-value … conditions for PingFederate to validate whether one of the attribute values matches the specified value. When an attribute has multiple values, using a single-value condition causes the criteria to fail.
-
-
In the Value field, enter the comparison value.
Values are compared verbatim. If you require complex evaluations, including conditional criteria or partial matching, define them using attribute expressions.
Learn more in Attribute mapping expressions.
-
If you want to use localized descriptions, enter a unique alias in the Error Result field, such as
someIssuanceCriteriaFailed.-
Insert the same alias with the desired localized text in the applicable language resource files, located in the
<pingfed-install>/pingfederate/server/default/conf/language-packsdirectory.If not defined, PingFederate returns
ACCESS_DENIEDwhen the criterion fails at runtime.
-
-
Click Add.
-
Repeat the previous steps for each issuance criterion you want to add.
-
If you require complex evaluations, including conditional criteria or partial matching, define them using attribute mapping expressions.
Learn more in Attribute mapping expressions.
-
Click Show Advanced Criteria.
-
In the Expression field, enter the required expressions.
-
In the Error Result field, enter an error code or message.
If the expressions resolve to a string value instead of
trueorfalse, the returned value overrides the Error Result field value. -
Click Add.
-
Click Test, enter values in the applicable fields, and verify the results.
-
Repeat the previous steps to add additional criteria using mapping expressions.
-
-
Click Next.