#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 для получения дополнительной информации или запустите прокси-сервер между вами и службой для сбора подробностей.