gpt4 book ai didi

python - 在服务之间传播 JWT token

转载 作者:行者123 更新时间:2023-12-01 01:13:09 24 4
gpt4 key购买 nike

我希望使用 Flask-jwt-extended 库在 docker 中运行的服务之间传播 JWT token ,并且我知道如何使用与此类似的方法来做到这一点:

request.post(url, json={"access_token": access_token, "refresh_token": refresh_token)

但根据我的经验,我需要返回响应才能执行此操作。

我已经有前端创建 token 并保护我的路由。我只想使用该 token 对后端执行相同的操作。

我希望能够从前端应用程序登录,并且在登录时将 token 传播到其他服务。我该如何处理这个问题?

我会将发布请求发送到一个类似于以下内容的函数:

@app.route('/login', methods=['GET', 'POST'])
def login():
if request.method == "POST":
resp = jsonify({'login': True})
set_access_cookies(resp, request.json["access_token"])
set_refresh_cookies(resp, request.json["refresh_token"])
return resp, 200

我需要返回该响应吗?

最佳答案

token 共享应通过签名信任来完成。确保您的其他服务“知道”可信签名者的公钥。

这是基础知识:

  1. 前端通过授权API向后端请求 token

  2. 后端验证凭据,使用“RSXXX”算法颁发 token ,例如。 “RS512”

  3. 前端将 token 传递给对任何后端服务的所有调用。

  4. 当后端收到 token 时,它会使用 token 的公钥身份验证签名和“来源”,然后再将 token 有效负载应用于请求的操作。

所有后端服务和前端都应该有一个配置元素,用于定义一个或多个用于 token 签名的可信公钥。

本文提供了一些有关在 pyjwt 中使用公钥/私钥对的有用信息: https://blog.miguelgrinberg.com/post/json-web-tokens-with-public-key-signatures

关于python - 在服务之间传播 JWT token ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54640011/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com