是否还有 Microsoft Authenticator dev API?我怎样才能使用它?

Mil*_*oPT 2 c# asp.net authentication multi-factor-authentication

我不知道我是否应该在这里问这个问题,也不知道我是否使用了正确的标签,但是......我需要在我正在开发的系统中添加一个 2FA,而我正在寻找2FA 的最佳可用选项,我们考虑向其添加 Microsoft Authenticator 支持(我们喜欢 Authy、Google Authenticator 等,但我们更喜欢这里的 Microsoft 解决方案)。似乎曾经存在一种将 Microsoft 的 2FA 添加到我们网站的方法,但是现在有没有办法在 2019 年做到这一点?如果是这样,它是免费的(我们有 Microsoft 开发者帐户......如果拥有它们是唯一的付费要求,我们没问题)

小智 25

Microsoft Authenticator 仅实现基于时间的 OTP 机制 ( https://en.wikipedia.org/wiki/Time-based_One-Time_Password )。

如果您没有 Azure 帐户,Microsoft 身份验证器可以扫描带有以下嵌入 URL 的 QR 码

otpauth://totp/UserName?secret=Some-long-secret&digits=6&issuer=公司名称

Microsoft Authenticator 扫描此 QR 码后,它将开始向您显示一次性密码。在服务器端,您可以使用类似https://github.com/samdjstevens/java-totp的库 。该库可用于生成密钥或验证 Microsoft Authenticator 生成的 OTP。

  • 这应该是公认的答案。接受的答案甚至没有回答问题,只是指出 MS 和 Google 使用 TOTP (2认同)

Suc*_*man 5

Microsoft 和 Google Authenticators 只是实现了TOTP机制,以提供无服务器(读取:离线,您只需要一个准确的时间戳)一次性密码机制。您可以使用任何通用 TOTP 库来生成用户特定的共享密钥,也可以将其编码为 QR 图像以便于配置,然后验证所提供的令牌是否与共享密钥匹配并在过去 +-n 秒内创建。