diff --git a/Dockerfile b/Dockerfile index 4272d0371923a68b6275f88b0469c23ed3f5b69c..7662e29949a9864afcf4c82e7441f554dab63d27 100644 --- a/Dockerfile +++ b/Dockerfile @@ -3,7 +3,6 @@ FROM registry.hub.docker.com/library/python:3.9-slim-buster RUN apt-get update && \ DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \ build-essential \ - git \ libldap2-dev \ libsasl2-dev \ && \ diff --git a/app.py b/app.py index 2b0182925fe3d3c75dc0ca334bd9cf037f1b085d..95186987a7d02ffeeebf83fd75fc3426a0882b03 100644 --- a/app.py +++ b/app.py @@ -1,11 +1,15 @@ """LDAP authentication webserver to use with Nginx' auth_request.""" # pylint: disable=import-error -from flask import Flask -from flask_simpleldap import LDAP +import os +from flask import Flask, token +from flask_ldap_auth import login_required app = Flask(__name__) -ldap = LDAP(app) +app.config["SECRET_KEY"] = os.getenv("SECRET_KEY", os.urandom(16)) +app.config["LDAP_AUTH_SERVER"] = os.getenv("LDAP_AUTH_SERVER", "ldapi:///") +app.config["LDAP_TOP_DN"] = os.getenv("LDAP_TOP_DN") +app.register_blueprint(token, url_prefix="/auth") @app.route("/ping") @@ -20,7 +24,7 @@ def index(): @app.route("/login") -@ldap.basic_auth_required +@login_required def login(): return "OK" diff --git a/requirements.txt b/requirements.txt index 4f04f73b0856d3ab2ed5caeb4804ecba2f9dbae2..81308f4248e813447ee7eaa9bc2a88758d184ee6 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,5 +1,4 @@ flask -#flask-simpleldap -git+https://github.com/adarnimrod/flask-simpleldap.git@ldapi-support#egg=flask-simpleldap +flask-ldap-auth gunicorn python-ldap