1. 程式人生 > >基於spring boot2.0+spring security +oauth2.0+ jwt微服務架構

基於spring boot2.0+spring security +oauth2.0+ jwt微服務架構

ros emp 服務 應用程序 ken res load uri 提高

github地址:https://github.com/hankuikuide/microservice-spring-security-oauth2

# 項目介紹
該項目是一個演示項目,主要演示了,基於spring boot2.0+spring security +oauth2.0+ jwt構建的,單點登錄SSO和統一認證和授權的微服務架構項目

該項目是一個多模塊項目:
* authorization-server:是一個認證服務器
通常情況下,認證服務器也是一個資源服務器用於向其他服務提供用戶及權限信息。
標準的OAuth2.0提供了四種認證模式,所以認證服務器也應該支持這四種認證模式,具體采用何種模式,應由客戶端根據業務需求決定,
如SSO比較適合授權碼模式,客戶端有自己的登錄時,適合密碼模式,服務間的認證可以用客戶端模式。
為了提高token的安全性,及減輕認證服務器的壓力,采用token+jwt的方式,演示代碼沒有用rsa。
同時
* client:是客戶端的應用程序
網上多數的項目客戶端都是采用純js寫,或用postman發請求,和實際項目的應用還是有差距的,這裏也是采用spring boot的實現。
主要功能在於:1.使用授權碼模式進行認證。2.使用OAuth2RestTemplate發送請求給認證服務器和資源服務器,3.結合Feign實現loadbalance.
* resource-server:是資源服務器,也是微服務
資源服務器只實現了一個,另一個同時,只是註意jwt的配置即可。
* resource2-server:是資源服務器,也是微服務

# 主要集成了以下技術和工具

* Spring boot2.0
* Spring Security
* OAuth2.0
* JWT
* Feign
* cors





基於spring boot2.0+spring security +oauth2.0+ jwt微服務架構