【问题标题】:Add two factor authentication to my web application向我的 Web 应用程序添加两因素身份验证
【发布时间】:2016-01-17 08:24:48
【问题描述】:

我有一个 java spring web 应用程序,目前它有一个正常的身份验证流程。我需要向它添加一个两因素身份验证实现。为此,我们可以使用 google 等第三方提供商或任何其他提供商。

【问题讨论】:

  • 请阅读指南How do I ask a good question,尤其是关于最小、完整和可验证示例(MCVE)的部分。这将帮助您自己解决问题。如果您这样做但仍然卡住,您可以回来发布您的 MCVE、您尝试了什么以及结果如何,以便我们更好地帮助您。
  • @JeffC 阅读了很多,但找不到解决方案。最后决定发帖到stackoverflow寻求帮助。至少如果我能得到一个简单的指南或起点就能继续前进

标签: java spring two-factor-authentication


【解决方案1】:

我需要向 [我的 java spring web 应用程序] 添加一个两因素身份验证实现。

这是一个good package that I wrote,它在 Java 代码中实现了 2FA/双因素身份验证。

从 READ_ME 中复制,以便您使用:

  1. 正确设置随机数生成器的种子。
  2. 使用generateBase32Secret() 为用户生成密钥。
  3. 将密钥存储在与用户帐户关联的数据库中。
  4. qrImageUrl(...)返回的二维码图片URL展示给用户。
  5. 用户使用该图像将密钥加载到他的身份验证器应用程序中。

每当用户登录时:

  1. 用户将验证器应用程序中的号码输入登录表单。
  2. 从数据库中读取与用户帐户关联的机密。
  3. 服务器将用户输入与generateCurrentNumber(...) 的输出进行比较。
  4. 如果它们相等,则允许用户登录。

【讨论】:

  • 此解决方案与 Stormpath 提供的商业产品有何不同?
  • 呃,它是免费和开源的吗?否则我不确定@PradeepKumarTR。
  • 我唯一不喜欢的是你将私钥保存在数据库中......
  • 天啊@DamirOlejar。这只是一个例子。您认为它在现实中如何运作?
  • @Gray,抱歉,我正在寻找最终解决方案。你建议我们应该怎么做?我正在考虑使用 AES 并将私钥存储在配置中,然后将加密版本保存在数据库中。对此仍有疑问。
猜你喜欢
  • 2020-05-14
  • 1970-01-01
  • 2020-08-08
  • 2020-03-18
  • 2012-12-02
  • 2020-04-01
  • 2019-07-21
  • 1970-01-01
  • 2021-06-26
相关资源
最近更新 更多