标签: two-factor-authentication

解码Google 2 Factor身份验证QR码格式

根据维基,谷歌2因素身份验证密钥应该是16个字符的base32字符串.当我解码谷歌发给我的二维码时,我发现它符合谷歌指定密钥格式,但我发现密码长度不对.谷歌有没有改变秘密长度或编码格式?有没有办法让我从我拥有的密钥中获取16个字符的base32字符串?我的密码来自二维码(我显然没有完全复制和粘贴)是:

otpauth://totp/Google%3Amyemail%40gmail.com?secret=7gmdmzctmhpm7i6nrmbom6u5gny7o6la&issuer=Google
Run Code Online (Sandbox Code Playgroud)

这就是我所知道的:

  1. 它不是十六进制.
  2. 它长32个字符.
  3. 它确实符合base32,但为什么它都是小写的呢?谷歌的密钥格式规范的例子显示它全部大写?

我唯一能想到的是谷歌已经将格式从16个字符改为32个字符.有谁知道这个?

qr-code two-factor-authentication

6
推荐指数
1
解决办法
1998
查看次数

在自己的asp.net项目中使用Google身份验证器的双因素身份验证?

您好我已经创建了自己的asp.net项目(非MVC).现在我想使用Google身份验证器实现双因素身份验证.因此,当用户获得注册用户将获得密钥或获取QR图像和设置与它的Android手机.对于登录,他们需要来自谷歌身份验证器应用程序的密钥.

我在asp.net中获得了很少的MVC代码.我需要步骤如何集成在asp.net应用程序(非MVC)请指导我如何实现这个任何样本将不胜感激.

谢谢

asp.net google-authenticator two-factor-authentication

6
推荐指数
2
解决办法
6328
查看次数

在启用两因素身份验证的情况下将远程提交推送到github

目前是否有办法将本地提交推送到启用了双重身份验证的远程GitHub存储库?每次我们要推送本地提交时,
不必禁用/启用2因子身份验证

谢谢。

authentication commit github repository two-factor-authentication

5
推荐指数
2
解决办法
926
查看次数

TOTP 重新同步时钟

我正在使用 Node + Redis 进行 TOTP 验证,并试图弄清楚如何实现时钟漂移同步。我正在使用硬件设备生成 TOTP 密码/令牌,但在验证令牌时需要考虑这些硬件设备的时钟漂移。我已经阅读了RFC和其他博客文章,并且从较高的层面来看,我认为我理解在时间步长方面调整时钟漂移的算法,但我无法弄清楚在哪种情况下令牌应该验证失败和/或我应该在数据库中设置哪些标志来告诉我这一点。有任何想法吗?或者更好的是,有人可以向我指出一些人们在其中实现此功能的示例代码链接吗?

one-time-password two-factor-authentication

5
推荐指数
1
解决办法
311
查看次数

django-two-factor-auth 无法访问管理站点

我正在将 django-two-factor-auth 用于网络应用程序。我无法访问管理页面。

我知道我输入了正确的凭据。当我输入不正确的凭据时,我会收到相应的错误消息。

当我输入正确的凭据时,页面会使用以下 URL 重新加载:

http://localhost:8080/account/login/?next=/inveskore/
Run Code Online (Sandbox Code Playgroud)

这些是我与two_factor相关的设置:

LOGIN_URL = 'two_factor:login'
LOGIN_REDIRECT_URL = '/inveskore'
TWO_FACTOR_SMS_GATEWAY = 'two_factor.gateways.twilio.gateway.Twilio'
Run Code Online (Sandbox Code Playgroud)

这是关联的 URL 路径:

LOGIN_URL = 'two_factor:login'
LOGIN_REDIRECT_URL = '/inveskore'
TWO_FACTOR_SMS_GATEWAY = 'two_factor.gateways.twilio.gateway.Twilio'
Run Code Online (Sandbox Code Playgroud)

据此,是由于管理员用户没有设置 2FA 造成的。

那么,如果您无法访问该网站,如何为管理员用户设置 2FA?

编辑:

我删除了网站的 2FA 登录要求,然后添加了电话设备。没有运气。

python django django-admin two-factor-authentication django-two-factor-auth

5
推荐指数
1
解决办法
1773
查看次数

单次使用后如何使两因素身份验证令牌过期

我实现了两因素身份验证,但按照本教程

https://docs.microsoft.com/en-us/aspnet/identity/overview/features-api/two-factor-authentication-using-sms-and-email-with-aspnet-identity

我想让代码在单次使用后过期。

现在,用户在到期时间(设置为 5 分钟)完成期间收到相同的代码。有没有办法让代码一次性使用?我找不到关于这个主题的任何内容。

two-factor-authentication asp.net-mvc-5

5
推荐指数
1
解决办法
2975
查看次数

如何在 ASP.Net Core 2 中通过电子邮件实现两因素身份验证?

我使用 ASP.NET Core 2.2 作为 Web 服务器,每次用户登录网站时,在输入正确的电子邮件和密码后,我需要向用户电子邮件发送一条包含4 位 PIN 码的消息,以使用它作为电子邮件双重身份验证,以及此 PIN 码,在发送后 10 分钟过期

我可以手动执行此操作(生成随机 PIN 码,将它们保存在数据库中,使用 if 语句验证它们等...),这会起作用,但我创建了这个问题来询问如何使用可用的 ASP.NET Core 2 执行此操作功能(可以为我节省数据库表)。

我尝试了UserManager.GenerateTwoFactorTokenAsync(TUser, String) Method,生成一个令牌并将其发送到电子邮件:

var token = await _userManager.GenerateTwoFactorTokenAsync(user, "Default");
SendLoginTokenToUserEmail(user, token);
Run Code Online (Sandbox Code Playgroud)

并使用UserManager.VerifyTwoFactorTokenAsync(TUser, String, String)来验证它:

var verified = await _userManager.VerifyTwoFactorTokenAsync(user, "Default", token);
Run Code Online (Sandbox Code Playgroud)

这工作得很好,但我的问题是生成的令牌不是 4 位 PIN 码,其过期时间不是 10 分钟(我认为默认值为 1 天)。

所以,我的问题是:如何在 ASP.NET Core 2.2 中为双因素身份验证自定义 UserManager 生成的令牌?

这可以通过创建自定义令牌提供程序来完成吗?(我在这里使用默认令牌提供程序)如果是这样,这样做的步骤是什么?我花了几个小时浏览 Docs 和 ASP.NET Core 2 文章,但没有找到我需要的。 …

authentication two-factor-authentication usermanager asp.net-core-2.2

5
推荐指数
1
解决办法
1223
查看次数

Angular & Asp.Net Core - 启用 2 因素身份验证

我有一个用 angular 7 编写的单页应用程序,它与我的 ASP.Net Core 2.2 Web API 服务器进行通信。登录时,用户使用“资源所有者密码凭据”授权将他的凭据发送到我的授权服务器(连接/令牌)。我正在尝试添加 2 因素身份验证 (SMS),但找不到任何描述如何执行此操作的示例。我发现的所有示例都是使用 MVC 编写的,使用 cookie 身份验证。

我在考虑这个流程,但我觉得应该有更好的方法

  1. 用户输入他的用户名和密码
  2. 如果用户启用了 2 个因素,我将向他发送带有代码的短信。此外,将向客户端发送有限的 access_token 和 id 令牌。此 access_token 仅在使用户能够发送 2 因素代码时有效。如果 id-token 有“两个因素”的声明:“on”,我会将用户重定向到 SMS 确认代码。
  3. 用户将发送带有代码的 post 请求。如果代码匹配,我将向客户端返回一个包含所有声明的新 access_token。

asp.net oauth-2.0 two-factor-authentication openiddict angular

5
推荐指数
1
解决办法
835
查看次数

应用 Microsoft Authenticator App 来批准/拒绝 ASP.NET Core 中的 2FA

目前,当我们使用 Microsoft Authenticator App 与 Microsoft 帐户时,他们要求我们单击批准或拒绝,而不是将密码填写到登录网站、系统中。

我们可以在没有 Microsoft 帐户(例如个人帐户或组织帐户)的情况下将相同的体验应用到我们的网站中吗?

我想如果可以的话,微软会要求我们注册一个 api,让他们在用户批准、拒绝后。

如果不能,是否有任何替代应用程序、服务提供此功能?

PS:当然我们可以自己实现移动应用程序充当身份验证器应用程序

谢谢你的帮助

c# authenticator two-factor-authentication asp.net-core-2.0

5
推荐指数
1
解决办法
1336
查看次数

将 2FA 添加到基于 Laravel Passport 的 API

让我有点惊讶的是,我没有找到任何关于使用护照对 Laravel 进行双因素身份验证的实际示例或最佳实践。

由于我想在用户登录 API 并接收其访问令牌时实现此步骤,因此我不确定如何以安全的方式进行处理。

目前流程如下:

  1. 用户看到前端登录页面(vue SPA)。
  2. 用户输入usernamepassword点击提交。
  3. SPA 向 API 发送请求。
  4. API 会使用访问令牌进行响应,如果出现问题,则会给出未经过身份验证的错误。
  5. SPA可以使用访问令牌向API请求其他资源,直到令牌失效。

由于我希望用户能够单独激活或停用 2FA(因为有些客户端可能不想使用它,有些客户端会),所以我会在表中添加一个新列来users存储 2FA 是否启用。

但接下来如何继续呢?如果用户像以前一样定期使用username和进行身份验证password,那么 API 就会知道他是否“需要”第二个身份验证步骤并返回一个标志,以便前端知道显示另一个视图来输入令牌?

感谢您的任何意见:)

two-factor-authentication laravel laravel-passport

5
推荐指数
1
解决办法
4546
查看次数