Flaskで書かれた簡単なWebアプリケーションを開発しており、ブラウザの認証を一から理解することができます。最初のステップとして、私は使用して匿名アクセスを停止するために基本認証を追加しました:純粋なJavascriptを使用して永続的な基本認証を設定するにはどうすればよいですか?
from functools import wraps
from flask import request, Response
def check_auth(username, password):
"""This function is called to check if a username/
password combination is valid.
"""
return username == 'admin' and password == 'secret'
def authenticate():
"""Sends a 401 response that enables basic auth"""
return Response(
'Could not verify your access level for that URL.\n'
'You have to login with proper credentials', 401,
{'WWW-Authenticate': 'Basic realm="Login Required"'})
def requires_auth(f):
@wraps(f)
def decorated(*args, **kwargs):
auth = request.authorization
if not auth or not check_auth(auth.username, auth.password):
return authenticate()
return f(*args, **kwargs)
return decorated
出典:http://flask.pocoo.org/snippets/8/
をそれは、セキュリティに関してこれは正常に動作します。しかし、問題は、それがユーザー名とパスワードを要求するということです。ユーザー名とパスワードを入力すると、承認は永続的です。だから私の質問は:
1)許可は永続的ですか?ブラウザセッション中は要求ヘッダーにBasic Authorizationが格納されていますか?シークレットウィンドウを開くともう一度入力する必要があることがわかります。
2)ブラウザのポップアップを使って純粋なJavscriptインスタントを使用して、ブラウザセッションを通じて永続的な基本認証を設定する、ログインページを上記のようにすることはできますか?