Я занимаюсь разработкой простой службы REST в flask. Я пытался реализовать базовую c авторизацию. Хотя я могу передать имя пользователя и пароль с веб-страницы, используя ввод вручную, я не могу прочитать их из заголовка.
Вот мой код:
На сервере
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
>
Я также пробовал код Javascript без раздела полей xhr, но ни для одного Я получил что-нибудь возвращенное вообще. Если я не отправляю заголовки с клиента, он работает и просто запрашивает ручной ввод имени пользователя и пароля. Все, что я пытаюсь сделать, это подтвердить подлинность из шапки. Любые указатели будут приняты с благодарностью.