如何使用类似WhatsApp ..的QR码进行自动登录?

时间:2019-07-20 04:39:57

标签: python flask qr-code whatsapp

就像我们尝试登录WhatsApp网站一样,我们需要使用手机扫描显示在浏览器中的QR码。

它实际上如何工作?。

我也想使用Flask应用程序来制作它,到目前为止,我发现了一个名为Flask-QRcode的精美软件包。

我已经对该包装进行了几次实验,然后尝试使用我在PlayStore上下载的一些免费应用扫描QR Code结果,是的……我在手机上得到了与我的代码相对应的正确结果设置之前。

但是,现在我想要的是:当我使用手机扫描QR码时,我想对Web浏览器产生任何影响,就像首次尝试登录时WhatsApp Web所做的那样。

使用Flask ..可以做到吗? 如果是这样,请参考任何教程,源代码或示例代码。

1 个答案:

答案 0 :(得分:1)

此工作流程与此类似:

  1. 使用浏览器登录网站
  2. 请求令牌登录,此令牌显示为QR码,该令牌有一些条件:
    • 它应该很大以减少被猜测的机会(例如256位)。
    • 它必须是唯一的
    • 它需要与当前用户关联。
    • 包括到期时间。
  3. 您的移动应用程序对QR码进行解码,并代替用户名和密码提供给您的网站。
    • 令牌不能过期
    • 然后令牌失效,因此无法再次使用

不太可能有现成的软件包可以为您实现此流程。您可能需要自己实施并调整各个方面以适合您的应用程序特定的安全要求。至少,所有交互都必须通过HTTPS。

我将通过QR码而不是令牌提供签名的登录URL来扩展设计,这将提供额外的保护层以防止篡改。