Я ищу несколько советов по настройке одной службы аутентификации для нескольких различных django проектов.
В настоящее время у меня есть один проект, который использует AWS Cognito для аутентификации (с django - Cognito-JWT). Затем у меня есть отдельный проект, который делает то же самое, используя другой AWS пользовательский пул Cognito. Эти проекты никак не связаны. Текущий поток для каждого приложения выглядит следующим образом:
(1) Go для одного проекта и вход в систему через веб-интерфейс
(2) Использование AWS Amplify для аутентификации пользователя по cognito и возврата a JWT
(3) Нажмите мой DRF API и вызовите get_or_create_for_cognito для анализа JWT
(4) Если учетная запись новая, создайте Django объект пользователя в базе данных, хранящий идентификатор из cognito
(4) Если учетная запись уже существует, найдите запись пользователя по идентификатору cognito и верните, что
(5) С помощью этого возвращенного пользовательского объекта я могу искать группы и разрешения, связанные с пользователем, разрешать или запрещать различные конечные точки.
Моя цель - сделать так, чтобы одна учетная запись Cognito позволяла пользователю проходить аутентификацию в обоих проектах.
Я понимаю, что могу просто указать оба проекта одному и тому же "пользователю" Таблица, но несколько разных сайтов / блогов говорили о том, что это плохая практика. Некоторые люди упоминали о введении третьего django проекта, единственной ответственностью которого является Аутентификация. Тем не менее, большинство примеров, которые я нашел, используют встроенную аутентификацию django, а не cognito.
Так что на высоком уровне я задаюсь вопросом, есть ли у кого-нибудь какие-либо идеи относительно того, как это сконструировать, или какие-либо Пример проекта с использованием Cognito, который может быть полезен для чтения.
Спасибо за любую помощь !!
Я также прочитал этот аналогичный пост: Несколько Django приложений, общая аутентификация , но мои требования отличаются, потому что я использую JWT auth и cognito