Summary
This article explains how to use specific endpoints to request and update a user's identity confidence score when developing a custom authentication agent or portal. These endpoints are not required when using RSA My Page or RSA Web-Based Agents.
Important Note:
- RISK AI is an optional ID Plus feature and may not be available to all ID Plus customers.
- The endpoints described in this article are not enabled by default for RISK AI users. To use these endpoints, contact RSA for assistance.
Identity Confidence Score API
Use this public API endpoint to request a user's identity confidence score based on the information included in the request. Invoke this endpoint before or during the associated authentication event.
The response returns a transactionId, which is required when submitting a subsequent update request to update the user's identity confidence score.
Score Request URL
https://example.auth-dev.securid.com/mfa/v1_1/identityconfidence/score
Request Headers
Connection: keep-alive
Content-Type: application/json; charset=utf-8
Accept: application/json
client-key: dff4e77689bd118d01427ead7b092fe61f86b2ca
JSON Payload
{
"subjectName": "johnsmith@example.com",
"initiatingIp": "128.221.224.77",
"html5Latitude": 47.61070354245329,
"html5Longitude": -122.2028987590239,
"geoLocationCollTimestamp": 1602008314509,
"uniqueIdentifyingId": "73d03f80-877e-4e7f-8388-daa89176bd39",
"tenantId": "example",
"clientId": "client-ex",
"httpHeaders": {
"content-type": "application/x-www-form-urlencoded",
"accept-language": "en-us",
"connection": "keep-alive",
"accept-encoding": "gzip, deflate",
"Origin": "https://portal.example.com",
},
"riskFingerprint":"version%3D%3D1%2E0%2E0%2E0%2E0%26rsa%5Frisk%5FuserAgent%3D%3DNaviUA%3Dmozilla%2F5%2E0%20%28x11%3B%20linux%20x86%5F64%29%20applewebkit%2F537%2E36%20%28khtml%2C%20like%20gecko%29%20chrome%2F84%2E0%2E4147%2E135%20safari%2F537%2E36%7CNaviAppVer%3D5%2E0%20%28X11%3B%20Linux%20x86%5F64%29%20AppleWebKit%2F537%2E36%20%28KHTML%2C%20like%20Gecko%29%20Chrome%2F84%2E0%2E4147%2E135%20Safari%2F537%2E36%7CNaviPlatform%3DLinux%20x86%5F64%7CNaviProduct%3DGecko%7CNaviVendor%3DGoogle%20Inc%2E%7CNaviProductSub%3D20030107%7CNaviVendorSub%3D%26rsa%5Frisk%5FscreenInfo%3D%3D24%7C1920%7C1080%7C1920%7C1055%26rsa%5Frisk%5Ftimezone%3D%3D%2D5%26rsa%5Frisk%5Flanguage%3D%3Dlang%3Den%2DUS%7Csyslang%3D%7Cuserlang%3D%26rsa%5Frisk%5Fjava%3D%3D0%26rsa%5Frisk%5FcookieEnabled%3D%3D1%26rsa%5Frisk%5FgeoLocationEnabled%3D%3D1%26rsa%5Frisk%5FallSoftware%3D%3Dinternal%2Dpdf%2Dviewer%7Cmhjfbmdgcfjbbpaeojofohoefgiehjai%7Cinternal%2Dnacl%2Dplugin%26rsa%5Frisk%5FnaviAppName%3D%3DNetscape%26rsa%5Frisk%5FappCodeName%3D%3DMozilla%26rsa%5Frisk%5Fonline%3D%3Dtrue%26rsa%5Frisk%5FosProfile%3D%3D%26rsa%5Frisk%5FuserProfile%3D%3D%26rsa%5Frisk%5FscreenPixelDepth%3D%3D24%26rsa%5Frisk%5FscreenBufferDepth%3D%3D%26rsa%5Frisk%5FscreenDeviceXPI%3D%3D%26rsa%5Frisk%5FscreenDeviceYDPI%3D%3D%26rsa%5Frisk%5FscreenLogicalXDPI%3D%3D%26rsa%5Frisk%5FscreenLogicalYDPI%3D%3D%26rsa%5Frisk%5FscreenSystemXDPI%3D%3D%26rsa%5Frisk%5FscreenSystemYDPI%3D%3D%26rsa%5Frisk%5FwindowDevicePixelRatio%3D%3D0%2E8999999761581421%26rsa%5Frisk%5Fwindow%5FpositionXY%3D%3D0%7C0%26rsa%5Frisk%5FwindowOuterWH%3D%3D1920%7C1055%26rsa%5Frisk%5FwindowInnerWH%3D%3D2133%7C1056%26rsa%5Frisk%5FscreenFontSmoothingEnabled%3D%3D%26rsa%5Frisk%5FscreenUpdateInterval%3D%3D%26rsa%5Frisk%5Ffonts%3D%3DArial%7CCourier%20New%7CLoma%7CRachana%7CSawasdee%7CTimes%20New%20Roman%7CTlwgMono%7CUbuntu%7CUmpush%26rsa%5Frisk%5Flatency%3D%3D10401%7C10413%26rsa%5Frisk%5Fcanvas%3D%3D9815bb5b3e8f63d75c8a101dd351d6a6948a2e5894f3878ec66508f1ef537ea6"
}
Include the following parameters in the JSON payload when making the request.
| Attribute | Required/Optional | Example Value | Comments |
|---|---|---|---|
| tenantId | Optional | example | Valid Company ID. This is also provided in the request URL. If provided, this value must match the Company ID derived from the request URL, or the call may be rejected. |
| clientId | Optional | client-ex | Client identifier. This can be a logical client ID (for example, RADIUS or Chrome) or the fully qualified host name (FQHN) of the client system. The server may use this value for access control decisions. If no clientId is provided, a default value may be derived from the HTTP request headers. |
| subjectName | Required | johnsmith@example.com | User/Account identifier. This contains the login ID of the principal requesting authentication. The format depends on the context. This value can be an AD samAccountName or an email address. |
| riskFingerprint | Required |
RSA Risk Fingerprint. Obtained from rsa-1.0.0.0.0.min.js and sha256.js via the browser. Contact RSA to obtain these files. Use the rsa-1.0.0.0.0.min.js and sha256.js libraries to generate the riskFingerprint value in the browser.
| |
| html5Latitude | Optional | 47.61075728855224 | Obtained from browser geolocation. Providing this value returns a more accurate identity confidence score. If provided, html5Longitude and geoLocationCollTimestamp should also be provided. |
| html5Longitude | Optional | -122.20280563982418 | Obtained from browser geolocation. Providing this value returns a more accurate identity confidence score. If provided, html5Latitude and geoLocationCollTimestamp should also be provided. |
| geoLocationCollTimestamp | Optional | 1500107850434 | The EPOCH time (in milliseconds) obtained from browser geolocation when html5Latitude and html5Longitude are collected. Providing this value returns a more accurate identity confidence score. If provided, html5Latitude and html5Longitude should also be provided. |
| uniqueIdentifyingId | Required | 649dc11b-00ec-4c36-b4fd-86b1e0ad8824 | A Unique Identifying Cookie (UUID) to identify the User/Account device. For a request originating from the same device, use the same cookie/ID. For a new device, use a new cookie/ID. |
| initiatingIp | Required | 1.2.3.4 | IP address of the user. |
| header.XXXX | Required |
"content-type":"application/json;charset=UTF-8", "accept-language":"en-US,en;q=0.8" and so on. | Key/value list of all HTTP Request Headers. |
Expected Response
{
"transactionId": "8d8464f7-9aaf-4621-adee-9b75a975ded7",
"score": 0.20448663494348018,
"scoreThreshold": 0.37,
"normalizedScore": "LOW",
"miniScores": {
"deviceConfidence": 0.37224438513720404,
"behaviorConfidence": 0.4432296864706946,
"locationConfidence": 0.17309866349362057
},
"contributingFactors": {
"New cookie or multiple cookies": 0,
"Region or state changed": 0.0010233335866157711,
"ISP changed": 0.008350620812921594,
"Device language changed": 0.011702074050407907
},
"scoreResponseCode": "SUCCESS",
"scoreReasonCode": null
}
Identity Confidence Update API
Use this public API endpoint to update a user's identity confidence score associated with a previously submitted scoring request. The update must be submitted within 15 minutes of the original score request and requires the transactionId returned in the score response. This is critical for the learning capability of the risk engine.
Update Request URL
https://example.auth-dev.securid.com/mfa/v1_1/identityconfidence/update
Request Headers
Connection: keep-alive
Content-Type: application/json; charset=utf-8
Accept: application/json
client-key: dff4e77689bd118d01427ead7b092fe61f86b2ca
JSON Payload
{
"tenantId": "example",
"clientId": "client-ex",
"transactionId": "e8d8464f7-9aaf-4621-adee-9b75a975ded7",
"authenticationResult": "SUCCESS",
"satisfiedMethods": ["FIDO", "APPROVE"],
"failedMethods": null
}
Include the following parameters in the JSON payload when making the request.
| Attribute | Required/Optional | Example Value | Comments |
|---|---|---|---|
| tenantId | Optional | example | Valid Company ID. This is also provided in the request URL. If provided, this value must match the Company ID derived from the request URL, or the call may be rejected. |
| clientId | Optional | client-ex | Client identifier. This can be a logical client ID (for example, RADIUS or Chrome) or the fully qualified host name (FQHN) of the client system. The server may use this value for access control decisions. If no clientId is provided, a default value may be derived from the HTTP request headers. |
| transactionId | Required | e8d8464f7-9aaf-4621-adee-9b75a975ded7 | Used to update the identity confidence score obtained in a previous score call. The value is from the ScoreResponse#transactionId obtained from the score call. |
| authenticationResult | Required | One of "SUCCESS", "FAILED", "ABANDONED", "ACCESS_DENIED", "NOCHALLENGE" | Used to update the identity confidence score obtained from a score call. SUCCESS and NOCHALLENGE are positive conditions. Other values are failure conditions. |
| satisfiedMethods | Optional | ["FIDO", "APPROVE"] | Provides a list of MethodIds that were successfully completed. For example, "APPROVE", "SECURID", "FINGERPRINT". |
| failedMethods | Optional | ["SECURID"] | Provides a list of MethodIds that failed authentication. For example, "FIDO", "PASSWORD". |
Expected Response
{
"updateResponseCode":"SUCCESS",
"updateReasonCode":null
}
Related Articles
Trending Articles
How to manipulate imported RSA SecurID Software Token(s) on an iPhone or iPad device RSA SecurID software token .sdtid file fails to import into RSA SecurID Software Token 5.0 for Windows RSA Authentication Manager 8.9 Patches and Hotfixes Readme Download RSA SecurID Access Cloud User Event audit logs using Cloud Administration REST API CLU RSA MFA Agent 2.5 for Microsoft Windows Installation and Administration Guide