Authentication 在2因素身份验证期间,身份验证0不支持\u质询\u类型错误

Authentication 在2因素身份验证期间,身份验证0不支持\u质询\u类型错误,authentication,oauth,oauth-2.0,auth0,multi-factor-authentication,Authentication,Oauth,Oauth 2.0,Auth0,Multi Factor Authentication,我想用auth0(用户名/密码和短信代码)实现双因素注册。我没有使用锁小部件,而是尝试基于auth0api实现注册 因此,我现在有以下步骤 1.注册 POSThttps://somedomain.eu.auth0.com/dbconnections/signup { "client_id":"MY_CLIENT_ID", "client_secret":"MY_CLIENT_SECRET", "connection": "Username-Password-Authent

我想用auth0(用户名/密码和短信代码)实现双因素注册。我没有使用锁小部件,而是尝试基于auth0api实现注册

因此,我现在有以下步骤

1.注册

POSThttps://somedomain.eu.auth0.com/dbconnections/signup

{
    "client_id":"MY_CLIENT_ID",
    "client_secret":"MY_CLIENT_SECRET",
    "connection": "Username-Password-Authentication",
    "email": "sowhat@what.what",
    "username": "sowhat",
    "password": "sowhat@what.what",
    "phone_number": "+38...56"  // I have access to this number
}
响应由用户创建

2尝试使用用户名/密码登录

POSThttps://somedomain.eu.auth0.com/oauth/token

{
    "client_id":"MY_CLIENT_ID",
    "client_secret":"MY_CLIENT_SECRET",
    "audience":"http://localhost",
    "email": "sowhat@what.what",
    "username": "sowhat",
    "password": "sowhat@what.what",
    "grant_type":"password"
}
响应为
mfa_required
mfa_令牌
字符串

3请求mfa质询

POSThttps://somedomain.eu.auth0.com/mfa/challenge

{
    "client_id":"MY_CLIENT_ID",
    "client_secret":"MY_CLIENT_SECRET",
    "challenge_type": "oob otp",
    "mfa_token": "MFA_TOKEN_FROM_PREVIOUS_STEP"
}
答案是

{
    "error": "unsupported_challenge_type",
    "error_description": "User is not enrolled with guardian"
}

所以我真的不知道该如何修复这个。我猜原因可能是因为用户配置文件中缺少电话号码,但我不知道如何使用
用户名密码验证连接添加该号码。

看起来您需要让用户参与“Guardian”。 首先,您需要启用Guardian Factory: 就这么叫:

curl-H“Authorization:Bearer%your_token%”-X PUT-H“Content Type:application/json”-d'{“enabled”:true}'”

现在我们可以让用户参与Guardian:

  • 创建票证:
    curl-H“Authorization:Bearer%your\u token%”-X POST-H“内容类型:application/json”-d'{“user\u id”:“%user\u id%”“}”

  • 按照票证url进行响应

  • 将电话号码放入

  • 正在设备上等待otp

  • 将otp放入早期打开的表格中


  • 在这些步骤之后,用户将参与到Guardian中。它应该可以避免上述问题。

    看起来您需要让用户参与到“Guardian”中。 首先,您需要启用Guardian Factory: 就这么叫:
    
    curl-H“Authorization:Bearer%your_token%”-X PUT-H“Content Type:application/json”-d'{“enabled”:true}'”

    现在我们可以让用户参与Guardian:

  • 创建票证:
    curl-H“Authorization:Bearer%your\u token%”-X POST-H“内容类型:application/json”-d'{“user\u id”:“%user\u id%”“}”

  • 按照票证url进行响应

  • 将电话号码放入

  • 正在设备上等待otp

  • 将otp放入早期打开的表格中


  • 在这些步骤之后,用户将参与到Guardian中。它应该可以避免上述问题。

    感谢您的回复。我已将guardian SMS factor配置为与twilio连接(
    GET/api/v2/guardian/factors
    返回
    […{name:SMS,enabled:true}]
    )。使用锁小部件(基本上是
    ticket\uurl
    的功能)发送短信时,我没有任何问题。不幸的是,使用锁控件不符合我们的要求,因为我们只考虑API的使用,这意味着我不能使用<代码> TigKeTyURL < /代码>。谢谢响应。我已将guardian SMS factor配置为与twilio连接(
    GET/api/v2/guardian/factors
    返回
    […{name:SMS,enabled:true}]
    )。使用锁小部件(基本上是
    ticket\uurl
    的功能)发送短信时,我没有任何问题。不幸的是,使用锁控件并不满足我们的要求,因为我们只考虑API的使用,这意味着我不能使用<代码> TigKeTyURL < /代码>。