它很危险,很糟糕使用TimedJSONWebSerializer应用程序后端服务器进行令牌集成时出错?

2024-04-26 20:48:17 发布

您现在位置:Python中文网/ 问答频道 /正文

我通过一个只有后端和客户端知道的secret_key对用户进行身份验证,并通过Postman中的头进行传递。目前我的代码如下:

from itsdangerous import TimedJSONWebSignatureSerializer
from constants import SECRET_KEY

@app.route('/authUser', methods=['POST'])
def authUser():
    secret_key = request.headers['secret_key']

    if secret_key is None:
        return "400"
    elif secret_key != SECRET_KEY: # SECRET_KEY is a constant that has been imported from constants.py
        return "400"
    else:
        s = TimedJSONWebSignatureSerializer(app.config['SECRET_KEY'], expires_in=3600)
        token = s.dumps({'user_id' : user_id})
        print (s.loads(token))
        return token

此代码引发以下错误:

^{pr2}$

如果我改线:

s = TimedJSONWebSignatureSerializer(app.config['SECRET-KEY'], expires_in=3600)

为此:

s = TimedJSONWebSignatureSerializer('SECRET-KEY', expires_in=3600)

代码运行正常。在

问题:请告诉我这是为什么根据Configuration Handlingapp.config('SECRET-KEY')也返回一个密钥。在

enter image description here

我参考了这个网站来学习令牌认证:

RESTful Authentication with Flask
提前谢谢!在


Tags: key代码infromimporttokenconfigapp