Spring Cloud之Oauth2環境搭建
oauth2 server 微服務授權中心
在Spring Cloud需要使用oauth2來實現多個微服務的統一認證授權,通過向OAUTH服務發送某個類型的grant type進行集中認證和授權,從而獲得access_token,而這個token是受其他微服務信任的,我們在後續的訪問可以通過access_token來進行,從而實現了微服務的統一認證授權。
客戶端根據約定的ClientID、ClientSecret、Scope來從Access Token URL地址獲取AccessToken,並經過AuthURL認證,用得到的AccessToken來訪問其他資源接口。
Spring Cloud oauth2 需要依賴Spring security
微服務安全框架 SpringBootSecurity
Oauth2角色劃分
1、Resource Server:被授權訪問的資源
2、Authotization Server:OAUTH2認證授權中心
3、Resource Owner: 用戶
4、Client:使用API的客戶端(如Android 、IOS、web app)
OAuth2四種授權方式
1、授權碼模式(authorization code)用在客戶端與服務端應用之間授權
2、簡化模式(implicit)用在移動app或者web app(這些app是在用戶的設備上的,如
在手機上調起微信來進行認證授權)
3、密碼模式(resource owner password credentials)應用直接都是受信任的(都是由一家公司開發的)
4、客戶端模式(client credentials)用在應用API訪問
要想調用接口 首先要去任重授權中心獲取accessToken
合作機構必須要調用oauth2任重授權中心獲取對應的accessToken
再使用accessToken代用為服務器中開放接口
訪問:http://localhost:8080/oauth/authorize?response_type=code&client_id=client_1&redirect_uri=http://www.baidu.com
如果點擊 接受的話
會跳轉到回調地址:
並且獲取到code碼
獲取到code後
https://www.baidu.com/?code=fhtBKs
用postman:
Spring Cloud之Oauth2環境搭建