【发布时间】:2019-08-29 10:51:31
【问题描述】:
我想将用户从我的烧瓶应用程序重定向到带有标头(编码会话对象)的客户端应用程序,浏览器可以将其存储为 cookie 以供进一步请求。
我正在使用不同的服务器对用户进行身份验证,并且在成功登录后,他将被重定向到我的烧瓶应用程序,在该应用程序中我在数据库和会话对象中设置了用户。而且,在这完成之后,我需要将请求重定向到我的客户端应用程序。因此,我使用 flask.redirect 将用户重定向到我的客户端应用程序。现在,为了让浏览器存储用户信息,我想将会话对象作为 cookie 发送给浏览器。
TLDR; 这就是我想要做的:
- 客户端到达内容服务器。
- 客户端没有活动会话,被重定向到身份验证服务器并回调到内容服务器。
- 内容服务器创建会话并使用会话 cookie 重定向回客户端。
- 客户端到达内容服务器。
- 内容服务器验证会话 cookie 并允许访问客户端。
身份验证在单独的服务器上,但内容服务器和客户端都需要通过 cookie 跟踪会话。我无法做的部分是让客户端 (localhost:3000) 跟踪会话。
以下是我尝试过的:
resp = flask.make_response()
resp.set_cookie('Set-Cookie', 'this is the session cookie I want the browser to set for further requests')
return flask.redirect('http://localhost:3000/', Response=resp)
这给了我错误:
File "/home/shaily/.virtualenvs/venv/lib/python3.6/site-packages/werkzeug/utils.py", line 507, in redirect
mimetype="text/html",
TypeError: __call__() got an unexpected keyword argument 'mimetype'
是否有替代方法或方法可以解决此问题?
【问题讨论】:
标签: session authentication redirect flask cookies