javascript - Flask REST 的 http 基本授权
问题描述
我正在烧瓶中开发一个简单的 REST 服务。我一直在尝试实施基本授权。虽然,我可以使用手动输入从网页传递用户名和密码,但我似乎无法从标题中读取它们。
这是我的代码:
在服务器上
def test():
if request.authorization and request.authorization.username == '***' and request.authorization.password == '***':
return "Authorized"
else:
return make_response('Authorization failed', 401, {'WWW-Authenticate': 'Basic realm ="Login Required"'})
在客户端 - 使用 JavaScript
<script>
$(document).ready(function(){
$("#authButton").click(function(){
$.ajax({
xhrFields: {
withCredentials: true
},
headers: {
'Authorization': "Basic " + btoa("***:***")
},
url: "********:5001/",
type: 'GET',
success: function(){
console.log("success");
},
error: function (){
console.log("error");
},
});
});
});
</script
>
我也尝试了没有 xhr 字段部分的 Javascript 代码,但我也没有得到任何返回。如果我不从客户端发送标头,它就可以工作,只是要求手动输入用户名和密码。我要做的就是从标头进行身份验证。任何指点将不胜感激。
解决方案
推荐阅读
- java - Spring Boot MultipartFile 在 Spring Boot Embedded Tomcat 中完美运行,但在独立 Tomcat 中无法正常运行
- c# - 在 winform 上调用 SOAP Web 服务并获取 SOAP 服务中可用的方法
- python - 我想点击使用scrapy python的网站链接
- python - 稍微编辑的 tensorflow 官方示例无法正常运行
- java - Vue.js & Java-Spring/Tomcat
- apache-kafka - 幂等 Kafka Producer 写入多分区主题
- php - 使用 MySQL 将重叠的日期范围拆分为多个日期范围
- java - Java Android glide 调整图片大小
- jmeter - Jmeter线程没有独立执行
- php - 实时检测对多个设备的点击