从管理 API 获取 Auth0 用户的完整监护人 phone 号码

Get Auth0 user's complete Guardian phone number from Management API

我使用 Auth0 作为我的身份验证提供商。我已启用 Guardian 以促进基于 SMS 的 MFA(多因素身份验证)。当新用户注册时, Auth0 注册了他们的 phone 号码。

我的系统为用户提供了选择就他们感兴趣的主题进行 SMS 消息传递的选项。不幸的是,当我查询管理 API 时,我得到了 phone 号码的屏蔽版本(即 "+61 XXXXX2407")。我想获得他们从 Auth0 注册的完整 phone 号码,而不是让他们再次输入。

我怎样才能从 Auth0 的监护人那里检索完整的 phone 号码?

两年后,Auth0 终于提供了禁用 phone 数字混淆的功能。 :)

给定具有适当允许范围的管理 API 令牌,这是获取 MFA 中使用的用户 phone 号码的方法:

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

请求正文应包含:

{
  "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。 phone 号码现在应该被反混淆了。

参考:

Getting Users Phone Number

脚注:

As recently discussed here,要获取用户的所有验证码,您可以使用 GET /api/v2/users/{id}/authenticators。响应将包括在上面的步骤 2 中获得的条目。但是,到目前为止还没有记录。