python - 如何从 Flask 返回不记名 JWT 令牌?
问题描述
如何形成来自 Flask python 服务器的响应,该响应将在响应中包含不记名令牌。更准确地说,我希望以某种方式将 JWT 令牌从 Flask python 服务器安全地传播回客户端(角度页面)。我可以在 GET 重定向中以查询字符串的形式返回它。在将 JWT 访问令牌返回给客户端方面还有哪些其他可能性?我尝试设置响应表单 python,并在授权字段中设置 jwt 令牌,但没有任何效果。这是我尝试过的:
1.
r = Response(headers={
"Authorization": "bearer jwtcntent",
"Access-Control-Allow-Origin": "*",
},
is_redirect=True,
url="https://localhost:5000/callback",
)
return r
r = redirect("http://localhost:5000/callback")
r.headers = {"authorization": "bearer jwtcntent"}
return r
r = Response(headers={
"Authorization": "Bearer jwtcntent",
"Access-Control-Allow-Origin": "*",
},
allow_redirects=True,
url="https://localhost:5000/callback",
)
return r
有什么建议吗?
解决方案
您可以将其存储在 httponly cookie 中,但如果这样做,您需要确保处理 CSRF 攻击。Flask-JWT-Extended 内置了对此的支持,您可能会发现它很有用,无论是作为解决方案还是作为您最终所做的任何事情的参考:
https://flask-jwt-extended.readthedocs.io/en/stable/token_locations/#cookies
您也可以将令牌作为 JSON 正文的一部分发回,然后将其存储在本地/会话存储中,这可能是最常见的模式。
推荐阅读
- c++ - 如何从构造函数的参数推断模板参数“Func”?
- ios - 无法在 XIB 中设置约束 - Xcode 11.3.1
- angular - 使用 where 条件从 Firestore 实时获取数据
- c++ - 子类:*this = function_which_returns_parent_object(),可以吗?
- c# - C# Vlc Forms 音量稳定问题
- python - 在 Python Turtle 中使用循环
- python - 编写与 TensorFlow 1 和 2 兼容的代码的最佳实践
- python-3.x - 有没有办法在py3的开头打印没有空格?
- coldfusion - 如何使用 CFFTP 从 FTP 中删除 ROOT 目录
- php - 如何使用 Curl 登录 SAML 请求