http basi c авторизация с Flask REST - PullRequest
0 голосов
/ 08 марта 2020

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

...