Описание проекта
Конкретно нужно реализовать стандартные потоки OAuth для социальных провайдеров и поток SAML для корпоративной идентификации, безопасно обработать возврат и обмен токенами, а также обеспечить надёжное обновление токенов, чтобы пользователей не выбрасывало посреди работы. Важная часть ценности — сопоставление полученной личности с ролями и правами, которые уже есть в приложении: входящая учётная запись должна попадать в нужную группу с нужным доступом, а неизвестные или неподтверждённые пользователи — обрабатываться корректно. Существующие локальные аккаунты обязаны продолжать работать, и при совпадении почты мы хотим разумную привязку внешней личности к уже имеющемуся аккаунту без создания дублей.
Просим относиться к безопасности как к смыслу проекта, а не как к дополнению. Ожидаем проверки state и nonce, защиту от повторного воспроизведения и утечки токенов, хранение секретов вне клиента и короткую записку о том, как всё проверено. Бюджет и сроки указаны ниже, и мы готовы обсудить краткий письменный план до старта.
— Вход через несколько соцсетей по OAuth, встроенный в текущий интерфейс
— Поток SAML для корпоративных провайдеров с обменом метаданными
— Надёжное обновление токенов и сессии без принудительных выходов
— Сопоставление ролей и прав входящей личности с нашими группами
— Привязка к локальным аккаунтам по подтверждённой почте, без дублей
— Заметки по безопасности: state, nonce, защита от повторов, секреты