Flask-BasicAuth-LDAP is a Flask extension that provides an easy way to protect certain views of an application with LDAP and HTTP basic access authentication
pip install flask-basicauth-ldap
from flask import Flask, jsonify
from flask_basicauth_ldap import LDAPBasicAuth
app = Flask(__name__)
auth = LDAPBasicAuth(app)
app.config['LDAP_HOST'] = 'ldap://test_host'
app.config['LDAP_PORT'] = 'test_port'
app.config['LDAP_DOMAIN'] = 'test_domain'
@app.route('/secret', methods=['GET'])
@auth.required
def secret_view():
return jsonify({'status': 'secret'})
If you want to change a response on the unauthorized access, just use unauthorizedhandler to register function that should return Response object
@auth.unauthorizedhandler
def custom_unathorized_view():
return jsonify({'message': 'Athorize first'}), 401