2

Flaskで基本認証を実装しました。(このスニペットを参照してください)それは本当にうまく機能します。

def check_auth(username):
    user_id = get_user_id(username)
    return user_id is not None

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',
        status=401,
        headers={'WWW-Authenticate': 'Basic realm="Test"'}
        )

def requires_auth(f):
    """Basic authorization decorator
    """
    @wraps(f)
    def decorated(*args, **kwargs):
        auth = request.authorization
        if not auth or not check_auth(auth.username):
            return authenticate()
        return f(*args, **kwargs)
    return decorated

問題は、アプリケーションがJavascriptを介してアクセスされる場合(たとえば、JSを介したメッセージ後のユーザー名とパスワード)、この基本認証が機能しないことです。
承認に失敗した場合、アプリケーションはユーザーに401応答を返し、アプリケーションを停止する必要がありますが、アプリケーションはユーザーに何も返さず、アプリケーションは承認なしで動作を開始します。
どうすればこれを修正できますか?

前もって感謝します。

4

0 に答える 0