Данный проект основан на записи в блоге Spring Cloud OAuth2 Zuul и GitHub-репозитории. Из-за проблем с развёртыванием, автору пришлось внести некоторые изменения, но в целом проект остался похожим, только стал более простым в запуске и избавился от необходимости импортировать базу данных и других сложных операций.
Для тех, кто интересуется разработкой Spring Boot, можно ознакомиться с книгой «JavaEE разработчик: Spring Boot в действии», автором которой также является Ван Юньфэй.
Использование OAuth2 позволяет реализовать единую авторизацию и аутентификацию для нескольких микросервисов. Через отправку определённого типа grant type в службу OAUTH происходит централизованная аутентификация и авторизация, в результате чего получается access token, которому доверяют другие микросервисы. В дальнейшем доступ к сервисам осуществляется через этот access token.
Запустить Eureka на порту 8888.
Запустить Gateway на порту 8088.
Запустить Xfauth (так как используется JPA, данные таблицы будут созданы автоматически, без необходимости импорта базы данных, просто запустите MySQL). На этом этапе необходимо создать двух пользователей:
Запустить Account на порту 8083.
Либо добавьте Authorization в заголовок запроса:
3. Используйте тот же access token для доступа к API /current в службе account и получите информацию о текущем пользователе.
Можно увидеть, что информация о пользователе одинакова.
5. Получите новый access token с использованием учётной записи wl и снова обратитесь к защищённому API /query.
Если вы хотите лучше понять OAuth2, можете обратиться к статье Понимание OAuth 2.0 от Руань Ифэна.
Если вам было полезно, поставьте звёздочку. Автор блога: www.xingfly.com.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )