2024-05-15 17:52:47 发布
网友
我正在用Flask开发一个网站,它由两部分组成,一个面向用户的GUI和一些api。在
目前面向用户的部分使用the standard process to authenticate a user,api应该使用suggested way to authenticate the users with APIs。在
这两种方法看起来都很容易使用,但我不确定如何在我的应用程序中同时使用它们来区分这两个用例。在
有什么想法吗?在
有什么不同的方法我可以考虑吗?在
你可以使用两个不同的装载机。在
当有cookie时,Flask Login调用用user_loader修饰的函数。如果没有提供cookies,则使用request_loader修饰的函数称为[1]。在
user_loader
request_loader
简单示例:
from flask import Flask, session from flask_login import LoginManager, current_user lm = LoginManager() users_by_id = {1: User(id=1, username='FirstUser')} users_by_key = {'xxxyyyzzz': User(id=2, username='SecondUser')} @lm.user_loader def load_user(user_ anon = User(id=0, username='Anonymous') return users_by_id.get(int(user_id), anon) @lm.request_loader def load_user(request): anon = User(id=0, username='Anonymous') header = request.headers.get('Auth', None) if not header: return anon return users_by_key.get(header, anon) def create_app(): app = Flask(__name__) lm.init_app(app) @app.route('/') def index(): return 'Hello, {}'.format(current_user) @app.route('/login/') def login(): session['user_id'] = 1 return 'Logged in' return app app = create_app() app.config['SECRET_KEY'] = 'secret-key' app.run()
现在,您可以使用浏览器转到http://127.0.0.1:5000/login/并“登录”,然后一个索引页将正确地将您定位为第一个用户。 然后,您可以通过标头发送请求并进行身份验证,如下所示:
你可以使用两个不同的装载机。在
当有cookie时,Flask Login调用用
user_loader
修饰的函数。如果没有提供cookies,则使用request_loader
修饰的函数称为[1]。在简单示例:
现在,您可以使用浏览器转到http://127.0.0.1:5000/login/并“登录”,然后一个索引页将正确地将您定位为第一个用户。
^{pr2}$然后,您可以通过标头发送请求并进行身份验证,如下所示:
相关问题 更多 >
编程相关推荐