如何在前端请求中发送用户名和密码以使用 flask_httpauth 进行身份验证?
How do I send username and password in request from frontend for auth with flask_httpauth?
我有一个实现基本用户名和密码身份验证的应用程序。当我从前端发出请求时,我希望能够发送用户名和密码 auth headers 以及我的表单数据。
如何在单击表单提交时将这些用户名和密码 headers 连同请求一起发送。
我的验证密码是这样的:
@auth.verify_password
def verify_password(username, password):
from email_scheduler.models.api_models import User
user = User.query.filter_by(username=username).first()
if not user or not user.verify_password(password):
return False
g.user = user
return True
我的api是这样的:
class TaskCreate(Resource):
method_decorators = {'post': [auth.login_required]} #handles auth
def post(self):
args = task_parser.parse_args()
from email_scheduler.models.api_models import TaskModel
task = TaskModel(task_text=args.get('task_text'), user_id=g.user.id)
task.save_to_db()
return make_response(jsonify({'message': 'Task added to the database'}), 200)
用邮递员做起来相当简单,我可以跳到授权选项卡并输入用户名和密码。如果我有前端,我该怎么做?
遗憾的是,您无法通过浏览器发出的 GET 或 POST 请求显式提交用于基本身份验证的其他 header,例如 Authorization
。您可以为从 JavaScript.
发出的后台请求添加执行此操作
对于计划浏览器请求,提交身份验证的唯一方法是强制浏览器通过从您的端点返回 401 状态代码来为您执行此操作。当浏览器收到 401 时,它将显示一个登录对话框,用户可以在其中输入用户名和密码。之后浏览器将向该主机的任何后续请求添加 Authorization
header。
我有一个实现基本用户名和密码身份验证的应用程序。当我从前端发出请求时,我希望能够发送用户名和密码 auth headers 以及我的表单数据。
如何在单击表单提交时将这些用户名和密码 headers 连同请求一起发送。
我的验证密码是这样的:
@auth.verify_password
def verify_password(username, password):
from email_scheduler.models.api_models import User
user = User.query.filter_by(username=username).first()
if not user or not user.verify_password(password):
return False
g.user = user
return True
我的api是这样的:
class TaskCreate(Resource):
method_decorators = {'post': [auth.login_required]} #handles auth
def post(self):
args = task_parser.parse_args()
from email_scheduler.models.api_models import TaskModel
task = TaskModel(task_text=args.get('task_text'), user_id=g.user.id)
task.save_to_db()
return make_response(jsonify({'message': 'Task added to the database'}), 200)
用邮递员做起来相当简单,我可以跳到授权选项卡并输入用户名和密码。如果我有前端,我该怎么做?
遗憾的是,您无法通过浏览器发出的 GET 或 POST 请求显式提交用于基本身份验证的其他 header,例如 Authorization
。您可以为从 JavaScript.
对于计划浏览器请求,提交身份验证的唯一方法是强制浏览器通过从您的端点返回 401 状态代码来为您执行此操作。当浏览器收到 401 时,它将显示一个登录对话框,用户可以在其中输入用户名和密码。之后浏览器将向该主机的任何后续请求添加 Authorization
header。