Users endpoint for Azure AD B2C
Use this endpoint to retrieve a user when using the Azure AD B2C platform. The endpoint requires an objectId
to be provided, which is equivalent to the Authentication Cloud username.
For Azure AD B2C compatibility, the authenticator data is returned in a single string, instead of an array in the HTTP response.
HTTP request
GET https://{instance}.mauth.nevis.cloud/api/v1/aadb2c/users?objectId={username}
This endpoint requires the user to be registered with a username
that is in a UUID format. For example: 250558c2-1dfc-4210-84a4-ddd1a37c740a
.
Query parameters
Parameter | Type | Required/Optional | Description |
---|---|---|---|
objectId | UUID | required | Unique identifier of the user to retrieve. Equivalent to the Authentication Cloud username . |
Example HTTP request
curl "https://$instance.mauth.nevis.cloud/api/v1/aadb2c/users?objectId=$username" \
-H "Authorization: Bearer $access_key"
HTTP response
The response always returns HTTP 200 - OK
, regardless of success or failure. The response only returns the registered FIDO UAF authenticators, such as a mobile app authenticator. Registered FIDO2 authenticators, phone numbers, and recovery codes are not included in the response.
Field | Type | Description |
---|---|---|
userId | UUID | Unique identifier of this user. |
username | UUID | The internal customer ID or unique identifier to link a user to your internal systems. The value can be null . |
status | enum | The current status of the user, either new : The user has no confirmed authenticator yet; or active : The user has registered at least one authenticator and is able to log in. |
createdAt | string | The date when the user was created. |
updatedAt | string | The date when the user was last updated. |
lastLoginDateSuccess | string | The date of the last successful login with this user. |
lastLoginDateFailure | string | The date of the last failed login with this user. |
authenticators | string | Contain data of the already registered FIDO UAF authenticators in a string format. |
authenticatorId | UUID | Included in authenticators string. The Unique identifier of the authenticator. |
name | string | Included in authenticators string. The name of the authenticator provided by the user. |
type | enum | Included in authenticators string. Defines the mobile platform for mobile app authenticators. The value is ios for iOS, and android for Android. |
authenticatorType | enum | Included in authenticators string. Determines the type of the authenticator. The value can be app or fido2 . |
state | enum | Included in authenticators string. Indicates the state of the authenticator. |
enrolledAt | string | Included in authenticators string. The date when the authenticator was registered. |
updatedAt | string | Included in authenticators string. The date when the authenticator was last updated. |
uaf | DICT | Included in authenticators string. If present, this field contains data related to the FIDO UAF authenticator. Only applicable if the authenticatorType is app . |
uaf.userAgent | string | Included in authenticators string. Optional user agent. The client application sends the userAgent when a FIDO UAF authenticator is registered or used for authentication. |
uaf.deviceRef | UUID | Included in authenticators string. Unique identifier of the physical device. This value does not change other than in specific scenarios: Can the Device Ref of the authenticator change? |
uaf.userDisabledPushNotification | boolean | Included in authenticators string. Indicates if a user is disabled (true ) or enabled (false ) notifications for their application. When disabled, push authentication is not possible. |
lastLoginDateSuccess | string | Included in authenticators string. The date of the last successful login with this authenticator. |
lastLoginDateFailure | string | Included in authenticators string. The date of the last failed login with this authenticator. |
phones | array | Contain data of the already registered phone numbers in a string format. |
recoveryCodes | DICT | Contains information about the registered recovery codes. |
exceededRateLimits | DICT | Indicates that the push rate limit is reached for the given user. This means that the user and all of their authenticators are blocked. This field and the objects it contains are only present if push rate limiting is enabled for your instance, and the given user reached the set limit. |
exceededRateLimits.push | DICT | Contains data of the push rate limit. |
exceededRateLimits.push.resetInSeconds | string | Indicates the remaining amount of time before the rate limit resets and the user gets unblocked. The measurement unit is in UTC epoch seconds. |
exceededRateLimits.push.sent | string | The number of push notifications sent in set timeframe . |
exceededRateLimits.push.timeframe | ISO 8601 duration | The time frame in which the number of sent push notification are counted. The time frame is relative to the current time. |
The lastLoginDateSuccess
and lastLoginDateFailure
fields are only updated on FIDO2 authenticators and recovery codes.
Example HTTP response
- User found
- User is blocked
- User not found
200 OK
: User is found.
{
"userId": "b29dcde8-1aef-4fe9-a88e-4bdb7d09469f",
"username": "250558c2-1dfc-4210-84a4-ddd1a37c740a",
"status": "active",
"createdAt": "2023-09-25T17:51:50Z",
"updatedAt": "2023-09-25T17:51:50Z",
"recoveryCodes": null,
"authenticators": "[{\"authenticatorId\":\"88c89879-42cf-4660-a86e-2e8fc626f47d\",\"name\":\"samsung SM-G973F 2023. szept. 25. 19:55:23\",\"type\":\"android\",\"authenticatorType\":\"app\",\"state\":\"active\",\"enrolledAt\":\"2024-01-18T09:46:20Z\",\"updatedAt\":\"2024-01-18T09:46:20Z\",\"lastLoginDateSuccess\":\"2024-04-30T12:33:42Z\",\"lastLoginDateFailure\":\"2024-04-30T12:23:15Z\",\"uaf\":{\"userAgent\":\"NMASDK/3.3.0.1443 (samsung SM-G973F; Android 12) ch.nevis.accessapp.muvonda/2.7.0.1878\",\"deviceRef\":\"22f5ee06-f714-41f1-b819-34eff4688673\",\"userDisabledPushNotification\": false}}]",
"phones": "[]"
}
{
"userId": "967a8938-73c8-40b0-aed8-413c4198f7ad",
"username": "c242de3f-7788-4eca-93b6-85c93a9cee42",
"status": "active",
"createdAt": "2024-05-24T11:00:30Z",
"updatedAt": "2024-05-24T11:00:56Z",
"lastLoginDateSuccess": "2024-05-24T11:00:56Z",
"lastLoginDateFailure": "2024-04-30T12:23:15Z",
"recoveryCodes": null,
"authenticators": "[{\"authenticatorId\":\"a2dc6dfe-0d21-48a9-be8a-0e24ccc47f81\",\"name\":\"Unnamed FIDO2 authenticator\",\"authenticatorType\":\"fido2\",\"state\":\"active\",\"enrolledAt\":\"2024-05-24T11:00:55Z\",\"updatedAt\":\"2024-05-24T11:01:19Z\",\"fido2\":{\"userAgent\":\"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36\",\"rpId\":\"sandbag-dev-7d5f1f.mauth.nevis.cloud\",\"aaguid\":\"53414d53-554e-4700-0000-000000000000\",\"userVerificationRequirement\":\"preferred\",\"attestationConveyancePreference\":\"none\",\"residentKeyRequirement\":\"discouraged\"},\"lastLoginDateSuccess\":\"2024-05-24T11:01:19Z\",\"lastLoginDateFailure\":\"2024-04-30T12:23:15Z\"}]",
"phones": "[]"
}
{
"userId": "6a372961-8f09-4804-bf3e-d76cb50777ba",
"username": "009d56ad-9c28-466d-a407-ba5fce45c6bd",
"status": "active",
"createdAt": "2022-05-31T07:55:25Z",
"updatedAt": "2022-05-31T07:55:25Z",
"authenticators": "[{\"authenticatorId\":\"88c89879-42cf-4660-a86e-2e8fc626f47d\",\"name\":\"samsung SM-G973F 2023. szept. 25. 19:55:23\",\"type\":\"android\",\"authenticatorType\":\"app\",\"state\":\"active\",\"enrolledAt\":\"2024-01-18T09:46:20Z\",\"updatedAt\":\"2024-01-18T09:46:20Z\",\"lastLoginDateSuccess\":\"2024-04-30T12:33:42Z\",\"lastLoginDateFailure\":\"2024-04-30T12:23:15Z\",\"uaf\":{\"userAgent\":\"NMASDK/3.3.0.1443 (samsung SM-G973F; Android 12) ch.nevis.accessapp.muvonda/2.7.0.1878\",\"deviceRef\":\"22f5ee06-f714-41f1-b819-34eff4688673\",\"userDisabledPushNotification\": false}}]",
"phones": "[]",
"recoveryCodes": null,
"exceededRateLimits": {
"push": {
"resetInSeconds": "120",
"sent": "10",
"timeframe": "PT24H"
}
}
}
200 OK
: User not found.
{
"userId": "",
"username": "250558c2-1dfc-4210-84a4-ddd1a37c740c",
"status": "unknown",
"createdAt": "2023-09-21T09:54:20.941086435Z",
"updatedAt": "2023-09-21T09:54:20.941086835Z",
"authenticators": "[]",
"phones": "[]",
"recoveryCodes": null
}