Хочется при разработке каждого нового проекта, не городить заново "модуль логина" (аутентификация, "забыл пароль", итд), а взять что-то готовое, изолированное, то что приляпывается за 10 минут. Есть ли такое? Если есть - то что самое популярное, рекомендуемое?
Интересны и сервисы (ну вот как auth0, который помахал ручкой после февраля, и, кажется, okta тоже), но и то что можно хостить самому и не зависеть ни от кого.
Как я себе это представляю - запускаю какой-то сервис отдельно (может в докере, или легко ставлю на свой сервер), пробрасываю доступ через nginx, указываю там какие-то свои детали, например, секрет для Oauth2 от гугла и других провайдеров. Если хочу - правлю "скины", чтобы выглядело все красиво. И все. Дальше сервис выдает веб-приложению JWT который я просто проверяю в веб-приложении. Установка и интеграция с веб-приложением выглядят очень просто.
Хочется, чтобы можно было:
- Авторизация по паролю (самая обычная, как в 1990ых было). С восстановлением паролей через почту/SMS.
- Возможность подключить Oauth2/OpenID Connect (чтобы заходить через гугл, гитхаб, фейсбук итд)
- Возможность входа через телефон (интеграция с каким-нибудь смс сервисом)
- Возможность двухфакторки (через SMS и-или Authy с QR-кодом )
- Может быть даже сам микросервис выступает в качестве OpenID Connect провайдера
- Ну и какой-то доступ к базе, естественно. Знать, сколько пользователей, просматривать, блокировать.
Есть похожий вопрос, но задан 3 года назад. Многое ведь изменилось (в частности, с Auth0 теперь сложно стало из-за санкций)
https://qna.habr.com/q/654953