Как я могу аутентифицировать пользователя в приложении FastAPI, используя аутентификацию пользователей Django?
У меня есть база пользователей в приложении Django, и я создал отдельное приложение FastAPI, которое будет жить на другом сервере. Я хотел бы, чтобы пользователи аутентифицировались в приложении FastAPI с помощью своих учетных данных Django.
Я следовал документации по безопасности FastAPI, чтобы хотя бы подготовить основу для OAuth2. В этой документации явно даются советы, что эта настройка позволяет читать и проверять пароли, созданные Django (первый совет в этой ссылке). Однако мне не удается найти другие ресурсы о том, как настроить это в полном цикле
Нужно ли мне настроить мое приложение Django на использование OAuth2 или достаточно аутентификации по умолчанию?
Я предполагаю, что приложение FastAPI должно послать запрос приложению Django ИЛИ иметь доступ к базе данных Django, чтобы сделать проверку. Но я не совсем уверен в правильных (безопасных) шагах для реализации.
Любые ресурсы или руководство о том, как это реализовать, будут высоко оценены.
Кажется, я нашел частичный ответ на свой вопрос, который заключается в том, чтобы пользователь просто ввел свое имя пользователя/пароль в форму. Затем я сделаю вызов к бэкенду django с именем пользователя, возвращая его хэшированный пароль. Используйте passlib для сравнения:
from passlib.apps import django_context
hash='pbkdf2_sha256$20000$3RFHVUvhZbu5$llCkkBhVqeh69KSETtH8gK5iTQVy2guwSSyTeGyguxE='
user_input = 'password'
django_context.verify(user_input, hash) #prints true/false based on result
Если истина, продолжить обработку данных.
Я не уверен, является ли это безопасным средством для обработки аутентификации пользователя и работы с паролями.