Django с аутентификацией пользователей по LDAP
Я работаю в проекте Django и LDAP.
На данный момент, с моим базовым кодом, пользователь может войти в систему после установления соединения с ldap (я использую библиотеку ldap3)
@csrf_exempt
def login_view(request):
if request.method == "POST":
data = json.loads(request.body.decode('utf-8'))
cn = data["cn"]
password = data["password"]
user = Connection(server, 'cn='+cn+',ou=users,dc=example,dc=com', password, auto_bind=True)
if user is not None:
return HttpResponse('authenticated')
else:
return HttpResponseForbidden('wrong username or password')
Я столкнулся с проблемой, когда хочу реализовать токены (JWT), я должен настроить бэкенд аутентификации в Django, чтобы я мог использовать функцию authenticate() и добавить токены.
У меня проблема с пониманием логики, Django сохранит аутентифицированного пользователя в базе данных, но если мы изменим пароль пользователя в LDAP, мы всегда сможем войти под пользователем в базе данных, что не удобно!
Также, как мы можем настроить бэкенд аутентификации Django для корректного входа в систему с помощью LDAP?
Спасибо