Python 在服务之间传播JWT令牌
我希望使用库flask JWT extended在docker中运行的服务之间传播JWT令牌,我知道如何使用类似于以下内容的方法来实现这一点:Python 在服务之间传播JWT令牌,python,flask,flask-jwt-extended,Python,Flask,Flask Jwt Extended,我希望使用库flask JWT extended在docker中运行的服务之间传播JWT令牌,我知道如何使用类似于以下内容的方法来实现这一点: request.post(url, json={"access_token": access_token, "refresh_token": refresh_token) @app.route('/login', methods=['GET', 'POST']) def login(): if request.method == "POST":
request.post(url, json={"access_token": access_token, "refresh_token": refresh_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
但根据我的经验,我需要回复才能这样做
我已经有了创建代币和保护我的路线的前端。我只想使用该令牌对后端执行同样的操作
我希望能够从我的前端应用程序登录,并在登录时将令牌传播到其他服务。我该如何处理这个问题
我会将post请求发送到一个类似以下内容的函数:
request.post(url, json={"access_token": access_token, "refresh_token": refresh_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
是否需要返回该响应?令牌共享应通过签名信任完成。确保您的其他服务“知道”受信任签名者的公钥 以下是基本知识:
前端是在“创建”令牌还是只是从后端“请求”令牌?@SteveBoyd目前所有与JWT相关的内容都在前端服务中。我基本上有两个Flask应用程序,一个前端,一个后端。一旦我从前端创建/生成令牌,我也希望能够将令牌存储在后端应用程序中。将令牌存储在您的服务中听起来像是滥用令牌。后端服务应在每次调用时接收令牌,并检查签名是否有效,并通过检查公钥是否是来自前端服务的预期密钥来验证签名是否由受信任密钥签名。应该不需要在后端服务上“存储”令牌。@SteveBoyd您知道这方面的例子吗?感谢您花时间回答,这让我重新思考了我的方法。我决定使用来实现auth0。我只需要在他们拥有的基础上添加一点额外的配置,但我得到了我想要的结果。