#authentication #django-rest-framework #x509certificate
Вопрос:
Мне нужна помощь по аутентификации X509 в drf . Я использовал пользовательский сервер, который поддерживает аутентификацию JWT .. я переопределил метод аутентификации следующим образом :
class ModelBackendCustom(ModelBackend):
"""
This backend is to be used when the server is handling authentication
from an LDAP or Active Directory service.
By default, the ``authenticate`` method creates ``User`` objects for
usernames that don't already exist in the database. Subclasses can disable
this behavior by setting the ``create_unknown_user`` attribute to
``False``.
"""
def authenticate(self, request, username=None, password=None, **kwargs):
logger.info("Trying to authenticate the user %s against the database" % username)
user = super(ModelBackendCustom, self).authenticate(request, username, password, **kwargs)
# Check DB groups against mapping
if user:
if user.is_authenticated:
logger.info("Authenticate the user %s against the database with success" % username)
user = self.configure_user(request, user)
return user
else:
logger.info("Authenticate the user %s against the database failed by giving a non authenticated user" % username)
else:
logger.info("Authenticate the user %s against the database failed" % username)
return None
Я хочу использовать тот же метод и ту же технику, чтобы использовать заголовки запроса, чтобы получить идентификаторы issuer_id и subject_id для проверки наличия в базе данных .
Я пытаюсь установить аутентификацию X509 …
Проблема, с которой я столкнулся, заключается в том, что я не могу получить доступ к заголовкам запросов из-за значения «Нет».
Мне нужно знать, как решить эту проблему или есть ли конкретный способ реализовать аутентификацию, получая заголовки из Njinx сертификата X509 .
Спасибо