HTTP-дайджест-аутентификация на flask не работает для меня

#python #flask #digest-authentication

#python #flask #дайджест-аутентификация

Вопрос:

Я использую базовый код для HTTP-дайджест-аутентификации на Flask, однако он не работает для меня. Я всегда получаю код ошибки 401. Я отправляю HTTP-запрос с приложением Postman.

Мой код: из flask импортируйте Flask из flask_httpauth импортируйте HTTPDigestAuth

 app = Flask(__name__)
app.config['SECRET_KEY'] = 'secret key here'
auth = HTTPDigestAuth()

users = {
    "john": "hello",
    "Admin": "Admin",
    "susan": "bye"
}


@auth.get_password
def get_pw(username):
    if username in users:
        return users.get(username)
    return None


@app.route('/', methods=['GET', 'POST'])
@auth.login_required
def index():
    return "Hello, {}!".format(auth.username())


if __name__ == '__main__':
    app.run()
 

Ниже приведены результаты выполнения:

  * Running on http://127.0.0.1:5000/ (Press CTRL C to quit)
127.0.0.1 - - [29/Nov/2020 09:22:32] "POST / HTTP/1.1" 401 -
127.0.0.1 - - [29/Nov/2020 09:22:32] "POST / HTTP/1.1" 401 -
 

Ответ №1:

Что не работает? Я скопировал код, и он запустился для меня в Win 10 и Chrome.

 127.0.0.1 - - [17/Aug/2021 13:40:28] "GET / HTTP/1.1" 401 -
127.0.0.1 - - [17/Aug/2021 13:40:32] "GET / HTTP/1.1" 200 -
 

Flask == 2.0.1

Flask-HTTPAuth ==4.4.0

Возможно, это то, как вы формируете вызов. Проверьте debug для получения дополнительной информации или запустите прокси-сервер между вами и службой для сбора подробностей.