flaskフレームワークにてBasic認証をかけたのですが、そのBasic認証が通りません
- ローカル(macOS)で実装をした時は問題なく動いたのですが、aws ec2(Ubuntu 14.04)上で動かすと、パスワードが通らなくなってしまいます。
main.py
python
1from flask import Flask 2from decorator import requires_auth 3app = Flask(__name__) 4 5@app.route("/") 6@requires_auth 7def index(): 8 return "Hello Index!" 9 10@app.route("/hello") 11def hello(): 12 return "Hello World!" 13 14if __name__ == "__main__": 15 app.run()
decorator.py
python
1from functools import wraps 2from flask import request, Response 3 4def check_auth(username, password): 5 """This function is called to check if a username / 6 password combination is valid. 7 """ 8 return username == 'admin' and password == 'secret' 9 10def authenticate(): 11 """Sends a 401 response that enables basic auth""" 12 return Response( 13 'Could not verify your access level for that URL.\n' 14 'You have to login with proper credentials', 401, 15 {'WWW-Authenticate': 'Basic realm="Login Required"'}) 16 17def requires_auth(f): 18 @wraps(f) 19 def decorated(*args, **kwargs): 20 auth = request.authorization 21 if not auth or not check_auth(auth.username, auth.password): 22 return authenticate() 23 return f(*args, **kwargs) 24 return decorated
- テストのために、全く同じコードで実行したのですが、それでも認証が通らないといった状況です。
実行環境
- Ubuntu 14.04
- aws ec2
- Google chrome
回答2件
あなたの回答
tips
プレビュー