Заказчик: платформа INSO — экосистема сервисов для разработчиков. Идея: в каждом сервисе была своя регистрация: пользователи путались в паролях, а разработчики раз за разом писали одно и то же. Идея — один логин на все продукты, как кнопка «Войти через Google», только собственная. Что умеет: — вход по почте и паролю; — вход через Google, GitHub, VK, Apple и Telegram; — вход по отпечатку пальца, Face ID или аппаратному ключу — без пароля; — двухфакторная защита с кодом из приложения и резервными кодами; — вход по ссылке из письма, без пароля; — защита от подбора пароля: ограничение попыток, блокировка, фильтрация одноразовых почт; — панель администратора и интерфейс на 12 языках. Что я сделал: спроектировал и разработал сервис целиком — серверную часть, страницы входа, панель администратора. Реализовал полноценный стандарт единого входа самостоятельно, без готовых решений, и написал инструкции по подключению для четырёх языков программирования. Результат: пользователи входят один раз и пользуются всеми сервисами, новые продукты подключаются к авторизации за пару часов. Технологии: Node.js, Express, TypeScript, Next.js, React, PostgreSQL, OpenID Connect, WebAuthn, OAuth 2.0.