Свой auth-микросервис в случае использования OAuth2
Правильно ли я понимаю, что в случае использования OAuth2(OpenId Connect, как средство соединяющее и авторизацию и аутентификацию) написания собственного сервиса аутентификации(endpoint которого допустим принимает креды и отдает токен) является неправильным и нужно использовать то, что предоставляет сервер авторизации? Т.е. делать редирект на сервер авторизации, но что если я хочу сделать кастомную страницу аутентификации? P.S. Естественно полагая, что сервер авторизации в приложении уже используется для получения и валидации токена.
Ответы (1 шт):
- Написания собственного сервиса аутентификации(endpoint которого допустим принимает креды и отдает токен) является неправильным -
OAuth — открытый протокол (схема) авторизации, который позволяет предоставить третьей стороне ограниченный доступ к защищённым ресурсам пользователя без необходимости передавать ей (третьей стороне) логин и пароль.
Естественно вы не можете передать "креды" потому что вы не можете у себя их держать.
- Нужно использовать то, что предоставляет сервер авторизации? Т.е. делать редирект на сервер авторизации, но что если я хочу сделать кастомную страницу аутентификации? P.S. Естественно полагая, что сервер авторизации в приложении уже используется для получения и валидации токена. - ДА
PS. Воспользуйтесь готовым KeyCloak. На изучение потратите не много времени но получите готовый сервер с исходниками бесплатно.