【发布时间】:2021-06-02 13:28:33
【问题描述】:
您将如何从 Flask 应用程序访问 Django 身份验证框架?
我有一个 Django 应用程序和 Flask 应用程序在服务器上并行运行。两者都托管在同一个域后面,但路径不同,因此它们应该能够看到彼此的 cookie。
我正在使用 Flask 来运行一个简单的 API 微服务,而使用 Django 将是矫枉过正。但是,为了防止滥用,我仍然希望 Flask 检查请求的 cookie 以查看它们是否来自仍在 Django 应用程序中经过身份验证的用户。我不想在 Flask 中重新实现身份验证框架。
从 Flask 内部访问 Django 设置相对简单。我只是在我的 Flask 脚本的顶部放了这样的东西来设置我的 Django 设置模块的路径:
sys.path.insert(0, <path to Django project>)
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "mydjangoproject.settings")
from django.conf import settings
但是,我不确定如何更新 Flask 请求处理程序以从请求中提取正确的 cookie 并使用 Django 的身份验证后端验证它们。我该怎么做?
【问题讨论】:
-
听起来是使用OpenID Connect 的好应用。我从未在 Django 上实现过它,但它无处不在,可能相当简单。