从Management API获取Auth0用户的完整Guardian电话号码

时间:2018-01-19 01:08:06

标签: oauth-2.0 auth0

我正在使用Auth0作为我的身份验证提供程序。我已启用Guardian以促进基于SMS的MFA(多重身份验证)。当新用户注册时,  Auth0注册了他们的电话号码。

我的系统为用户提供了选择对他们感兴趣的主题进行SMS消息传递的选项。不幸的是,当我查询Management API时,我给出了一个屏蔽版本的电话号码(即"+61 XXXXX2407")。我希望从Auth0获取完整的电话号码,而不是让他们再次输入。

如何从Auth0的卫报中检索完整的电话号码?

1 个答案:

答案 0 :(得分:0)

两年后,Auth0终于提供了禁用电话号码混淆功能。 :)

给出具有适当允许范围的管理API令牌,这是如何获取MFA中使用的用户电话号码:

  1. 发送PATCH /api/v2/tenants/settings以禁用电话号码混淆。

请求正文应包含:

{
  "flags": { 
    "disable_management_api_sms_obfuscation": true
  }
}
  1. 发送GET /api/v2/users/{id}/enrollments以获取用户的第一确认的MFA注册ID。

id字段是用户ID。响应正文应包含MFA注册ID。对于使用SMS的MFA,您需要一个以sms|dev_开头的ID。保存此ID以用于下一步。

  1. 发送GET /api/v2/guardian/enrollments/{id}

id字段是MFA注册ID。现在应该对电话号码进行模糊处理了。

参考:

Getting Users Phone Number

脚注:

As recently discussed here,要获得用户的所有身份验证者,可以使用GET /api/v2/users/{id}/authenticators。响应将包括在上面的步骤2中获得的条目。但是,到目前为止,尚未对此进行记录。