We will configure the Flask-HTTPAuth
extension to work with our User
model to verify passwords and set the authenticated user associated with a request. We will declare a custom function that this extension will use as a callback to verify a password. We will create a new base class for our resources that will require authentication. Open the api/views.py
file and add the following code after the last line that uses the import
statement and before the lines that declares the Blueprint
instance . The code file for the sample is included in the restful_python_chapter_07_02
folder:
from flask_httpauth import HTTPBasicAuth from flask import g from models import User, UserSchema auth = HTTPBasicAuth() @auth.verify_password def verify_user_password(name, password): user = User.query.filter_by(name=name).first() if not user or not user.verify_password(password): return False g.user = user return True class AuthRequiredResource...