
Любая самописная аутентификация начинается с пары строк. Проблемы начинаются после запуска, когда каждое небольшое решение незаметно становится основой, которую твой продукт принимает за истину.
Email, пароль, захешировать, сохранить, сравнить при входе. Просто и готово.
Кто считается пользователем. К какой организации он принадлежит. Какой сеанс всё ещё действителен. Как отозвать доступ.
Поменять страницу входа "на бумаге" означало переписать весь фундамент идентификации в коде.
Люди без происшествий входят в систему годами. Но одна перемена в бизнесе — и "достаточно" превращается в "мешает" за одну ночь. Вот три сценария, которые происходят почти с каждым продуктом на масштабе.

Появляется первая крупная сделка, и отдел закупок требует SSO через свой Entra или Google Workspace. Потом и SAML, и OIDC — ведь у следующего клиента всё иначе. У каждого клиента — свой подход к идентичности, и почти никакая работа не переиспользуется.

Разделено по организациям, разделено по продуктам, часто ещё и унаследовано после поглощений. “Унифицировать идентификацию” звучит как функция, но по факту — это переписать, что считается пользователем и организацией.

Это уже не просто люди в браузере. Агенты, MCP-серверы и командные строки тоже действуют от имени пользователя. А твоя аутентификация умеет только вход по странице.

Первая версия дешева: несколько инженеров, несколько недель — и готово. Но потом ты кормишь это каждый год временем инженеров, которое должно было идти на основной продукт.
Ты никогда не получишь счет на “аутентификацию”.
Вся критическая инфа — в голове, а не в документации.
Ни один клиент не заплатит тебе больше только за то, что ты написал свой OAuth-сервер.
У большинства зрелых сервисов уже есть нужные функции: SSO, MFA, организации, единый вход, доступ для агентов. Главное отличие — можно ли уйти. Не стоит менять свой собственный код на чью-то закрытую платформу, из которой не выйти.
Logto — open source, можно развернуть самому, также есть облако. Вход, MFA, SSO и RBAC работают сразу на стандартном OIDC. Оплата по токенам, и в любой момент ты можешь уйти.