29 lines
672 B
Python
29 lines
672 B
Python
from flask_httpauth import HTTPBasicAuth, HTTPTokenAuth
|
|
from app.models import User
|
|
from app.api.errors import error_response
|
|
|
|
basic_auth = HTTPBasicAuth()
|
|
token_auth = HTTPTokenAuth()
|
|
|
|
|
|
@basic_auth.verify_password
|
|
def verify_password(username, password):
|
|
user = User.query.filter_by(username=username).first()
|
|
if user and user.check_password(password):
|
|
return user
|
|
|
|
|
|
@basic_auth.error_handler
|
|
def basic_auth_error(status):
|
|
return error_response(status)
|
|
|
|
|
|
@token_auth.verify_token
|
|
def verify_token(token):
|
|
return User.check_token(token) if token else None
|
|
|
|
|
|
@token_auth.error_handler
|
|
def token_auth_error(status):
|
|
return error_response(status)
|