###前提・実現したいこと
Flaskで作ったWeb APIにDigest認証をかけた際、curlで正しいユーザー名とパスワードを指定したら認証できるようにしたい
発生している問題・エラーメッセージ
Flaskで作ったWeb APIにDigest認証をかけた際、curlで正しいユーザー名とパスワードを指定しても認証されません。何故なのでしょうか?
ブラウザでユーザー名とパスワードを入力した際はうまく認証され、正しいページが表示されます。
$ curl --digest -u a:a http://127.0.0.1:80 Unauthorized Access
該当のソースコード
下記のapi.py以外にDigest認証用の設定は特に行っておりません。apacheを使用しています。
api.py
from flask import Flask, jsonify, abort, make_response, request from flask_httpauth import HTTPDigestAuth api = Flask(__name__) api.config['SECRET_KEY'] = 'secret key here' #ランダムな値を作成する auth = HTTPDigestAuth() #"id":"パスワード" users = { "a": "a", "b": "b" } @auth.get_password def get_pw(username): if username in users: return users.get(username) return None @api.route('/') @auth.login_required def index(): return "Hello, %s!" % auth.username() if __name__ == '__main__': api.run(host='127.0.0.1', port=80)
バージョン
Python 3.7.3
Flask 1.0.2
Flask-HTTPAuth 4.4.0
###補足
ちなみにDigest認証からBasic認証に変更した時はcurlでもうまく表示されました。
まだ回答がついていません
会員登録して回答してみよう