Python 如何通过flask_httpauth从前端发送用户名和密码以进行身份验证?
我有一个实现基本用户名和密码身份验证的应用程序。当我从前端发出请求时,我希望能够将用户名和密码验证标题与我的表单数据一起发送 当单击表单提交时,如何将这些用户名和密码标题与请求一起发送 我的验证密码如下所示:Python 如何通过flask_httpauth从前端发送用户名和密码以进行身份验证?,python,html,flask-restful,flask-httpauth,Python,Html,Flask Restful,Flask Httpauth,我有一个实现基本用户名和密码身份验证的应用程序。当我从前端发出请求时,我希望能够将用户名和密码验证标题与我的表单数据一起发送 当单击表单提交时,如何将这些用户名和密码标题与请求一起发送 我的验证密码如下所示: @auth.verify\u密码 def验证_密码(用户名、密码): 从电子邮件\u scheduler.models.api\u models导入用户 user=user.query.filter\u by(username=username).first() 如果不是用户或非用户。请验
@auth.verify\u密码
def验证_密码(用户名、密码):
从电子邮件\u scheduler.models.api\u models导入用户
user=user.query.filter\u by(username=username).first()
如果不是用户或非用户。请验证\u密码(密码):
返回错误
g、 用户=用户
返回真值
我的api是:
类任务创建(资源):
方法_decorators={'post':[auth.login_required]}处理auth
def post(自我):
args=task\u parser.parse\u args()
从email_scheduler.models.api_models导入TaskModel
task=TaskModel(task\u text=args.get('task\u text'),user\u id=g.user.id)
任务。将_保存到_db()
返回make_response(jsonify({'message':'Task added to the database'}),200)
使用postman非常简单,我可以跳到授权选项卡,输入用户名和密码。如果我有一个前端,我该怎么做?不幸的是,您不能显式地提交额外的头,例如
授权
,用于浏览器发出的GET或POST请求的基本身份验证。您可以为JavaScript发出的后台请求添加这样做
对于计划浏览器请求,提交身份验证的唯一方法是通过从端点返回401状态代码来强制浏览器为您执行身份验证。当浏览器获得401密码时,它将显示一个登录对话框,用户在其中输入用户名和密码。之后,浏览器将向发送到该主机的任何后续请求添加一个
授权
标题。不幸的是,您无法明确提交附加标题,例如授权
,用于浏览器发出的GET或POST请求的基本身份验证。您可以为JavaScript发出的后台请求添加这样做
对于计划浏览器请求,提交身份验证的唯一方法是通过从端点返回401状态代码来强制浏览器为您执行身份验证。当浏览器获得401密码时,它将显示一个登录对话框,用户在其中输入用户名和密码。之后,浏览器将向发送到该主机的任何后续请求添加一个
授权
标题。您尚未提供有关前端的任何详细信息。它是基于浏览器的应用程序吗?您是以常规POST请求的形式提交表单,还是以后台/ajax请求的形式提交表单?这些事情将决定你能做什么或不能做什么。@Miguel这是一个基于浏览器的应用程序,我正在提交表单作为一个常规的POST请求。不涉及ajax。只是你没有给出你的前端的任何细节。它是基于浏览器的应用程序吗?您是以常规POST请求的形式提交表单,还是以后台/ajax请求的形式提交表单?这些事情将决定你能做什么或不能做什么。@Miguel这是一个基于浏览器的应用程序,我正在提交表单作为一个常规的POST请求。不涉及ajax。只是简单的html