首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >迁移Authy TOTP以验证

迁移Authy TOTP以验证
EN

Stack Overflow用户
提问于 2022-11-03 11:19:26
回答 1查看 136关注 0票数 -2

我们正在尝试从Authy迁移TOTP因子来验证Twilio中的API。我们引用了下面这篇文章

https://www.twilio.com/docs/authy/export-totp-secret-seed-for-migrating-to-verify-totp#export-totp-secret-seed-of-a-user

从上面的URL中,我们能够精确地指出如何提取在Authy中创建的秘密。但是,我们不确定如何使用从Authy中提取的秘密来创建验证API中的一个因素。你能详细告诉我们如何做到这一点吗?

EN

回答 1

Stack Overflow用户

发布于 2022-11-04 17:20:28

由于我不知道您使用的是哪种编程语言,所以我将使用cURL命令,您可以将这些HTTP请求转换成您选择的语言。

首先,您需要请Twilio支持为您的Authy应用程序启用迁移工具。当您导航到Authy应用程序时,他们会要求您提供Authy应用程序ID,您可以在Twilio控制台的URL中找到它。

然后可以使用前面链接的导出TOTP秘密API:

代码语言:javascript
复制
curl -i "https://api.authy.com/protected/json/users/$AUTHY_USER_ID/secret/export" \
    -H "X-Authy-API-Key: $AUTHY_API_KEY"

  • $AUTHY_USER_ID是您试图将其TOTP因素移动到验证中的单个Authy用户ID,service.
  • $AUTHY_API_KEY是Authy App.

的API键。

输出将如下所示:

代码语言:javascript
复制
{"secret":"[REDACTED]","otp":"[REDACTED]","success":true}

Authenticator/etc).

  • secret是在验证服务
  • 中创建一个因素所需要的,otp是唯一的密码,与用户在其TOTP用户应用程序(Authy/Google secret)中看到的相同

现在,您可以使用验证API创建一个新的因素:

代码语言:javascript
复制
curl -X POST "https://verify.twilio.com/v2/Services/$VERIFY_SERVICE_SID/Entities/$IDENTITY/Factors" \
--data-urlencode "Binding.Secret=$EXPORTED_AUTHY_SECRET" \
--data-urlencode "Config.Alg=sha1" \
--data-urlencode "Config.TimeStep=30" \
--data-urlencode "Config.CodeLength=6" \
--data-urlencode "Config.Skew=1" \
--data-urlencode "FriendlyName=John's Phone" \
--data-urlencode "FactorType=totp" \
-u $TWILIO_ACCOUNT_SID:$TWILIO_AUTH_TOKEN

  • $VERIFY_SERVICE_SID是您验证的SID,Service.
  • $IDENTITY是您的用户的唯一ID,长度在8到64个字符之间,由外部系统(如用户的UUID、GUID或SID )生成。如果标识还不存在,它将被自动创建,因为这个API call.
  • $EXPORTED_AUTHY_SECRET是由Authy Export返回的secret,earlier.
  • $TWILIO_ACCOUNT_SID是您的Twilio帐户,SID.
  • $TWILIO_AUTH_TOKEN是您的Twilio Auth令牌。

这个API调用记录在这里:https://www.twilio.com/docs/verify/quickstarts/totp#create-a-new-totp-factor

您可以使用Authy Export返回的otp来验证您创建的新因素:

代码语言:javascript
复制
curl -X POST "https://verify.twilio.com/v2/Services/$VERIFY_SERVICE_SID/Entities/$IDENTITY/Factors/$FACTOR_SID" \
--data-urlencode "AuthPayload=$OTP_CODE" \
-u $TWILIO_ACCOUNT_SID:$TWILIO_AUTH_TOKEN

  • $FACTOR_SID是新创建的Factor.
  • $OTP_CODE的SID,是Authy Export .

返回的otp代码。

这个API调用记录在这里:https://www.twilio.com/docs/verify/quickstarts/totp#verify-that-the-user-has-successfully-registered

就这样!如果要验证用户的OTP代码,可以创建如下所示的挑战:

代码语言:javascript
复制
curl -X POST "https://verify.twilio.com/v2/Services/$VERIFY_SERVICE_SID/Entities/$IDENTITY/Challenges" \
--data-urlencode "AuthPayload=$OTP_CODE" \
--data-urlencode "FactorSid=$FACTOR_SID" \
-u $TWILIO_ACCOUNT_SID:$TWILIO_AUTH_TOKEN

  • $OTP_CODE是用户提供给应用程序的otp代码.

这个API调用记录在这里:https://www.twilio.com/docs/verify/quickstarts/totp#validate-a-token

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74302235

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档