okta - 可以编写 Google 身份验证器代码脚本

标签 okta google-authenticator

我有一个使用 2FA 的 Okta 用户,在我的手机上使用 google 身份验证器应用程序,我一直在研究一些代码来自动执行此操作,这样我就不必检查我的手机。我希望这可以通过命令行脚本来完成。

我看到这个脚本https://github.com/grahammitchell/google-authenticator但是我需要知道用户(我相信是我的 okta 用户名)和 secret (我不确定我可以在哪里提取它,也许我可以生成一个新的?)

我想我的问题是这可能吗?

最佳答案

是的,你可以(但你可能不应该)。当您在 Google Authenticator(或任何 TOTP 代码生成器)中添加代码/站点时,它需要一个对称 key (即密码)并使用该 key + 生成 6 位代码的时间。 IdP 保存相同的 secret 并使用相同的 TOTP 协议(protocol)来生成代码。

只要时间相同,IdP 生成的代码与您的手机生成的代码相同,并且您证明您知道这个 secret 。

诀窍是在将设备注册到 MFA 时获取底层 secret ,并将其保存在可用于生成代码的地方。

一旦你有了二维码,你就可以使用 python 从中读取 secret ,例如:How to decode a QR-code image in (preferably pure) Python?

然后您链接的脚本可以生成代码。

你什么时候会这样做?

我过去曾这样做过,以自动测试各种 IdP 功能,例如注册 MFA、身份验证等。

你什么时候不会这样做?

如果这是一个普通帐户,例如您的 Gmail/您用于工作的某些 SaaS/某些重要的帐户,那么这种方法是一个糟糕的主意。 MFA 背后的想法是您拥有:

  • 您知道的信息,例如您的密码
  • 您拥有的东西,例如您的手机/yubi key /除常用笔记本电脑、个人电脑或其他设备之外的其他东西。

它正在破坏第二个因素提供的安全性。如果他们窃取您的密码或以某种方式访问​​您的设备,他们仍然需要接管其他因素才能访问重要服务,但如果您将这个 secret 保留在他们刚刚访问的同一设备上,那么您还不如把您的手机交给他们也是。

关于okta - 可以编写 Google 身份验证器代码脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75380261/

相关文章:

安卓 : AccountPicker set Light Theme

java.security.NoSuchProviderException : no such provider: SUN

oauth-2.0 - OKTA - OAuthError : Illegal value for redirect_uri parameter

okta - 在 Okta 中实现 MFA

android - 如何在没有谷歌登录的情况下在另一个安卓应用程序中使用谷歌个人资料图片?

android - 谷歌验证器刮刮码

linux - 具有 MFA 的堡垒服务器

openid-connect - 基于一个应用程序的访问 token 的具有多个 native 应用程序的 SSO

.net - 使用 .Net 核心 IDX20803 : Unable to obtain configuration from: '[PII is hidden]' 与 OKTA 进行身份验证

javascript - 如何测试/模拟 react 钩子(Hook)?