根据维基,谷歌2因素身份验证密钥应该是16个字符的base32字符串.当我解码谷歌发给我的二维码时,我发现它符合谷歌指定的密钥格式,但我发现密码长度不对.谷歌有没有改变秘密长度或编码格式?有没有办法让我从我拥有的密钥中获取16个字符的base32字符串?我的密码来自二维码(我显然没有完全复制和粘贴)是:
otpauth://totp/Google%3Amyemail%40gmail.com?secret=7gmdmzctmhpm7i6nrmbom6u5gny7o6la&issuer=Google
Run Code Online (Sandbox Code Playgroud)
这就是我所知道的:
我唯一能想到的是谷歌已经将格式从16个字符改为32个字符.有谁知道这个?
您好我已经创建了自己的asp.net项目(非MVC).现在我想使用Google身份验证器实现双因素身份验证.因此,当用户获得注册用户将获得密钥或获取QR图像和设置与它的Android手机.对于登录,他们需要来自谷歌身份验证器应用程序的密钥.
我在asp.net中获得了很少的MVC代码.我需要步骤如何集成在asp.net应用程序(非MVC)请指导我如何实现这个任何样本将不胜感激.
谢谢
目前是否有办法将本地提交推送到启用了双重身份验证的远程GitHub存储库?每次我们要推送本地提交时,都
不必禁用/启用2因子身份验证。
谢谢。
authentication commit github repository two-factor-authentication
我正在使用 Node + Redis 进行 TOTP 验证,并试图弄清楚如何实现时钟漂移同步。我正在使用硬件设备生成 TOTP 密码/令牌,但在验证令牌时需要考虑这些硬件设备的时钟漂移。我已经阅读了RFC和其他博客文章,并且从较高的层面来看,我认为我理解在时间步长方面调整时钟漂移的算法,但我无法弄清楚在哪种情况下令牌应该验证失败和/或我应该在数据库中设置哪些标志来告诉我这一点。有任何想法吗?或者更好的是,有人可以向我指出一些人们在其中实现此功能的示例代码链接吗?
我正在将 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 分钟)完成期间收到相同的代码。有没有办法让代码一次性使用?我找不到关于这个主题的任何内容。
我使用 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
我有一个用 angular 7 编写的单页应用程序,它与我的 ASP.Net Core 2.2 Web API 服务器进行通信。登录时,用户使用“资源所有者密码凭据”授权将他的凭据发送到我的授权服务器(连接/令牌)。我正在尝试添加 2 因素身份验证 (SMS),但找不到任何描述如何执行此操作的示例。我发现的所有示例都是使用 MVC 编写的,使用 cookie 身份验证。
我在考虑这个流程,但我觉得应该有更好的方法
asp.net oauth-2.0 two-factor-authentication openiddict angular
目前,当我们使用 Microsoft Authenticator App 与 Microsoft 帐户时,他们要求我们单击批准或拒绝,而不是将密码填写到登录网站、系统中。
我们可以在没有 Microsoft 帐户(例如个人帐户或组织帐户)的情况下将相同的体验应用到我们的网站中吗?
我想如果可以的话,微软会要求我们注册一个 api,让他们在用户批准、拒绝后。
如果不能,是否有任何替代应用程序、服务提供此功能?
PS:当然我们可以自己实现移动应用程序充当身份验证器应用程序
谢谢你的帮助
让我有点惊讶的是,我没有找到任何关于使用护照对 Laravel 进行双因素身份验证的实际示例或最佳实践。
由于我想在用户登录 API 并接收其访问令牌时实现此步骤,因此我不确定如何以安全的方式进行处理。
目前流程如下:
username并password点击提交。由于我希望用户能够单独激活或停用 2FA(因为有些客户端可能不想使用它,有些客户端会),所以我会在表中添加一个新列来users存储 2FA 是否启用。
但接下来如何继续呢?如果用户像以前一样定期使用username和进行身份验证password,那么 API 就会知道他是否“需要”第二个身份验证步骤并返回一个标志,以便前端知道显示另一个视图来输入令牌?
感谢您的任何意见:)
asp.net ×2
angular ×1
c# ×1
commit ×1
django ×1
django-admin ×1
github ×1
laravel ×1
oauth-2.0 ×1
openiddict ×1
python ×1
qr-code ×1
repository ×1
usermanager ×1