нас сейчас происходит обсуждение в компании, как правильно устравивать управление пользователями и авторизацией. При этом один из руководителей очень сильно топит за идею прям отдельного контура для паролей и рефреш-токенов: мол, во-первых, минимально необходимый код, который проще отсматривать, чтобы ничего не пересекалось по зонам ответственности; во-вторых, что бы никто не имел отдельного доступа к ползовательским токенам и не мог от их имени ничего сделать.
Однако есть и вторая сторона проблемы: данные пользователей должны по идее храниться в основной БД (что как бы норм вроде бы, сервис авторизации + resource server), что бы к ним ассоциировать всякое.
Посмотрели в сторону KeyCloak в качестве готового решения — поняли, что региистрацию нужно делать "через прокси", т.е. что бы собирать больше пользовательских дданых при регистрации, а так же что бы создавать соответствующую запись в основной БД. KeyCloak требует админского доступа от приложения, что бы регистировать пользователей не через свои формы, что несколько рушит концепт изоляции.
У меня не было раньше опыта построения более сложных систем авторизации, обычно стараюсь брать для этой сферы готовое решение. У кого-то может быть есть опыт, или идеи, или готовые решения на основании которых это стоит делать?
Спасибо большое!
Зачем в основной бд хранить данные пользователей? Эту инфу можно запросить во время авторизации.
Так а какие требования? 2fa? Социальные сети? Или руководство хочет всё и сразу, только непоятно зачем?
Обсуждают сегодня