规格:我正在使用 PyQt5 在 Python 中编写桌面应用程序。我的应用程序通过提供 RESTful 路由的 Flask API 与远程数据库通信。Flask API 和数据库位于同一台服务器上。在客户端,我使用RequestsPython 中的模块。我必须在我的应用程序中实现用户身份验证和授权系统。目前,我正在使用烧瓶登录。
@app.route("/login", methods=['POST'])
def login():
user = User.query.filter_by(email = request.form["email"]).first()
if user and check_password():
flask_login.login_user(user, remember=request.form['remember'])
return Response(status=201)
else:
return Response(status=401)
Run Code Online (Sandbox Code Playgroud)
在上面的代码中,我正在检查用户是否存在并且散列密码是否匹配。如果是这样,flask_login 将自动登录用户并发送回cookie响应,我可以将其用于会话管理和其他内容。
我的问题:我在任何地方都读到过使用基于令牌的身份验证系统来保护 API。但是,我目前的方法有什么问题吗?这不是实现身份验证的传统方式吗?此外,它在任何意义上都比基于令牌的系统更不安全吗?