The PingID SDK adapter for PingFederate contains several attributes in its core contract:
pingid.sdk.status
The PingID SDK adapter for PingFederate contains the pingid.sdk.status
attribute in its core contract. The pingid.sdk.status
attribute is populated only if the PingID SDK adapter returns a SUCCESS status.
As an example, the admin can map the pingid.sdk.status
attribute to any access token attribute. Once the pingid.sdk.status
attribute is mapped, it is added to the access token.
pingid.sdk.status
contains the following data:
-
The authenticating device type (SMS, voice, email, mobile etc.).
-
Whether the end user accessed via the web or the mobile application.
-
Status information which may result in reduced permission for the user.
Examples:
- The user has no trusted devices. In this case, the adapter may create a registration token for the user and return a success status. The actual pairing is done afterwards within the mobile application. Since the user has not actually completed MFA yet, there may be considerations to reduce the user permissions.
- The user has a trusted device. However, in a case where this device is marked as "bypassed", MFA will be skipped and the adapter is still going to return the success status. Once again, the user has not actually passed MFA.
pingid.sdk.status values
The status information is returned as a string in the following format:
com.pingidentity.pingidsdk.<status>
Where <status>
is one of the following string values:
Pairing statuses:
<status> | Description |
---|---|
device_not_paired | This status is returned in the following scenarios:
|
device_paired | This status is returned on successful pairing, when using the PingFederate Authentication API (PingFederate PingID SDK IDP Adapter 1.8+). |
device_access_allowed | This status is returned if the untrusted mobile is allowed a one-time access, when using the PingFederate Authentication API (PingFederate PingID SDK IDP Adapter 1.8+). |
device_ignored | This status is returned in the following scenarios:
|
web_login_no_devices |
|
pairing_error |
|
Authentication statuses:
<status> | Description |
---|---|
device_authorized | This status is returned on successful authentication of a login from a trusted mobile device. |
web_login_sms | This status is returned on successful SMS authentication from a web login. |
web_login_voice | This status is returned on successful voice authentication from a web login. |
web_login_email | This status is returned on successful email authentication from a web login. |
web_login_mobile | This status is returned on successful SDK mobile app authentication from a web login. |
web_login_qr_code | This status is returned on successful SDK QR code authentication from a web login. |
mobile_login_sms | This status is returned on successful SMS authentication when the user login is from an untrusted mobile. In the PingFederate Authentication API flow, this value is returned in pingid.sdk.status.reason .pingid.sdk.status may be one the following:
|
mobile_login_voice | This status is returned on successful voice authentication when the user login is from an untrusted mobile. In the PingFederate Authentication API flow, this value is returned in pingid.sdk.status.reason .pingid.sdk.status may be one the following:
|
mobile_login_email | This status is returned when a user logs in to an untrusted mobile app and is authenticated using their trusted email device. In the PingFederate Authentication API flow, this value is returned in pingid.sdk.status.reason .pingid.sdk.status may be one the following:
|
mobile_login_mobile | This status is returned on successful mobile authentication when the user login is from an untrusted mobile, or when a deep link exists for QR code authentication. In the PingFederate Authentication API flow, this value is returned in pingid.sdk.status.reason .pingid.sdk.status may be one the following:
|
device_bypassed | A user logs in from their trusted yet bypassed mobile device. |
device_authorized_no_response_passive_push | When the system is configured to regard no response for extra verification as success, and a user logs in but the extra verification does not arrive. |
device_rooted_or_jailbroken | The user has attempted to authenticate with a device that has been detected as rooted or jailbroken. |
MFA_bypassed_during_errors | A user logs in when the system is configured to bypass authentication if there are network problems or the PingID SDK service is unreachable. |
pingid.sdk.status.reason
The PingFederate core contract attribute pingid.sdk.status.reason
is populated with the value device_rooted_or_jailbroken
when both of the following apply:
- The device has been detected as rooted or jailbroken.
pingid.sdk.status
has the valuecom.pingidentity.pingidsdk.pairing_error
.
authenticating.device.rooted
The PingFederate core contract attribute authenticating.device.rooted
is populated with the value true
when the following applies:
- The device has been detected as rooted or jailbroken.
pingid.sdk.status
has the valuecom.pingidentity.pingidsdk.device_rooted_or_jailbroken
.
accessing.device.rooted
The PingFederate core contract attribute accessing.device.rooted
is populated with the value true
when the following applies:
- The device has been detected as rooted or jailbroken.
pingid.sdk.status
has the valuecom.pingidentity.pingidsdk.device_rooted_or_jailbroken
.