Django-allauth: применение политик для определенных пользователей
Я собираюсь реализовать django-allauth
для существующего проекта, в основном для добавления OTP и единого входа.
У меня есть SPA, поэтому мне понадобится allauth API, как описано здесь .
Однако, поскольку для этого требуется довольно много рефакторинга, я немного сомневаюсь, стоит ли просто добавлять это приложение, и я действительно не могу сказать, возможно ли сделать то, что я хочу, основываясь только на документации.
В зависимости от Organization
, к которой принадлежит пользователь (или в которую он приглашен), могут быть разные требования.
Мне нужно иметь возможность принудительно использовать OTP или единый вход (от определенного провайдера), но только для определенных пользователей. Это относится как к существующим, так и к новым пользователям.
Примеры потоков:
- Новый пользователь приглашается в организацию с применением OTP
- Пользователь регистрируется
- Пользователь принимает приглашение
- Пользователь вынужден настроить OTP из-за политики организации
- Новый пользователь приглашается в организацию, в которой применяется единый вход
- Из-за единого входа пользователь может зарегистрироваться только с определенным пользователем единого входа
- Организация добавляет принудительное применение OTP для своих пользователей
- Любой существующий пользователь организации, который войдет в систему, должен будет настроить OTP, прежде чем продолжить
- Существующий пользователь приглашается в организацию с политикой
- Пользователь входит в систему
- Пользователь принимает приглашение
- Пользователь вынужден добавить OTP/SSO в соответствии с политикой
С последним вариантом могут возникнуть сложности из-за противоречивых политик, но с этим мы разберемся позже.
Может ли django-allauth
справиться с такими случаями? Или мне лучше реализовать что-то более нестандартное?
Я был бы очень признателен за любые указания на код, примеры псевдокода и потоки, которые помогут мне понять, как это будет работать в моем сценарии!