1

目标

我有一个与 AWS 对话的后端服务,以及一个获取 AWS 信用的自动化工具。cred-getter 启用了 MFA(不是我的选择),但我不想输入或复制代码。相反,我想编写一些代码,可以以编程方式生成或获取 TOTP 软令牌,而无需发短信或打电话给任何人。所以今天我们的工作流程是这样的:

call cred getter from cli => open authy app for totp code => paste into cli

但我希望它看起来像这样:

call my custom cli => it makes a totp code and passes it to cred getter for me

问题

有没有办法 curl Authy 或 Twilio 以编程方式获取这些软令牌之一?

现有文档

有一种与这个问题相关的圆形文档迷宫,但我无法打破这个圈子。

 ----->  Twilio has a page describing TOTP:
|      |   https://www.twilio.com/authy/features/totp
|      |
|      | It links to a page describing OTP API access:
|      |   https://www.twilio.com/authy/api#softtoken
|      |
|      | That explains you can "build your own SDK-supported mobile authentication application.":
|      |   https://www.twilio.com/docs/authy/api/one-time-passwords#other-authenticator-apps
^      v
|      |
|      | Which links to the quick start page:
|      |   https://www.twilio.com/docs/authy/twilioauth-sdk/quickstart 
|      |
 <-----  Which has a link about TOTP, which takes you back to the beginning

我看到本机移动 SDK 可以生成 TOTP 令牌: https ://www.twilio.com/docs/authy/twilioauth-sdk/quick-reference#time-based-one-time-passwords-totp

但我想在笔记本电脑(或云功能或某个地方)上生成一个令牌。Authy Desktop 客户端正在这样做,所以我知道一定有办法。但我不知道公开曝光了什么。

这个问题是相关的:how to get Google or Authy OTP by API

但唯一的答案仍然取决于 twilio 调用和文本:如何通过 API 获取 Google 或 Authy OTP,这样会非常昂贵

4

1 回答 1

0

Twilio 开发人员布道者在这里。

根据您所说,您的凭证获取器为您提供了一个 QR 码,然后您可以使用它配置 Authy 以生成 OTP 代码。

QR 码按以下格式对 URL 进行编码:

otpauth://TYPE/LABEL?PARAMETERS

例如:

otpauth://totp/Example:alice@google.com?secret=JBSWY3DPEHPK3PXP&issuer=Example

该类型可能是“totp”,就像示例一样,标签将引用您正在验证的应用程序。重要的部分是参数中的秘密。该密钥是一个 base 32 编码的密钥,您可以使用它来使用TOTP 算法生成 TOTP 代码。该算法可能会以您喜欢的语言实现。

找到秘密,您就可以生成您的代码。

于 2018-11-20T02:26:12.363 回答