首页 > 解决方案 > 将凭据传递给 Dash 的基本身份验证,因此用户无需再次输入

问题描述

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

我必须在图表页面上进行身份验证的原因是,一些 Rando 不能只输入 url 并获得对另一个用户的个性化图表页面的访问权限。

有谁知道我如何获得基本身份验证来接受这样的幕后凭据?(https://dash.plotly.com/authentication

其他想法:

仍在寻找任何建议。不幸的是,我认为我不能使用烧瓶风格的端点安全性(@login_required 等),因为端点的目标是烧瓶。重定向到具有自己的 url:port 的全新且独立的 dash 应用程序。主页上的 Flask 端点安全性不会阻止某人打开带有新会话的全新浏览器并在 URL 中输入图表应用程序地址。

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

标签: pythonpython-3.xflaskplotlyplotly-dash

解决方案


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

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

有多个博客/教程介绍了在烧瓶应用程序中设置 SSO。每个都有其优点/缺点。希望这可以帮助。


推荐阅读