将凭据传递给达世币的基本身份验证,这样用户就不必再次输入



我有一个Dash应用程序(称之为charts(,它是从另一个Dash应用程序(也称之为main(派生而来的。用户已经在主页上登录(使用自定义登录/通过表单(,我希望在重定向时将这些凭据传递到图表页面,这样他们就不必重新输入用户名和密码。

我必须在图表页面上进行身份验证的原因是,有些rando不能只键入url并访问另一个用户的个性化图表页面。

有人知道我如何获得基本的授权来接受这样的幕后凭据吗?(https://dash.plotly.com/authentication)

其他想法:

仍在寻求任何建议。不幸的是,我不认为我可以使用flask风格的端点安全性(@login_required等(,因为端点的目标是一个flask.redirect,指向一个全新的、独立的、有自己url:port的dash应用程序。主页上的Flask端点安全性不会阻止某人使用新会话打开全新的浏览器,并在URL中键入图表应用程序地址。

我真的很喜欢在图表应用程序上拥有基本身份验证的想法,然后如果它被主应用程序的重定向访问,我们会以某种方式将凭据传递给基本身份验证(有点像当你刷新已经登录的页面时,它不会让你再次登录。(

考虑到您有这种多应用程序架构,并且希望保留登录,为什么不采用SingleSignOn支持的设计呢?制作自己的SSO应用程序或使用提供商。

现在,当用户访问您生态系统中的任何应用程序时,他们必须登录SSO提供程序,该提供程序将向您返回一个身份验证令牌或其他东西(有效期一段时间(,并且每当应用程序之间发生重定向时,该令牌都会被共享,该应用程序使用该令牌(在后台(重新验证用户。如果有人直接访问该应用程序,它会触发SSO页面(因为没有令牌(。

有多个博客/教程介绍了在flask应用程序中设置SSO。每个人都有自己的优点/缺点。希望这能有所帮助。

也许你可以生成一个类似CSRF的令牌,它是根据秘密、用户名和时间戳计算的(所以令牌不是永远有效的(。然后将其作为参数传递给其他应用程序。Django的源代码应该包括一个很好的创建示例。

我最终使用了flask登录和flask会话来确保进入图表页面的浏览器与最初在主页上验证的浏览器会话相同。

相关内容

最新更新