增加Eureka
前面介紹的項目都是授權服務和資源服務單獨兩個,這樣在資源服務中的 check_token 地址都是寫死的地址 :
下面我們把eureka加上,這樣就可以直接用服務名了。eureka服務的搭建不再討論,在服務中加eureka只需要改兩個地方,就是加依賴和修改配置:
增加配置如下:
然后就可以把資源服務中的固定ip改為服務名:
增加令牌中繼
從授權服務獲取令牌以后,直接訪問一個資源服務是沒有問題的,但是如果資源服務又去調用其它資源服務,就會產生一個問題,就是令牌無法自動往下傳遞。要實現令牌中繼我們就需要寫一個攔截器,將token放到請求的header中。
首先在服務中增加feign組件:
增加注解 @EnableFeignClients :
注意上面的依賴和注解調用方和被調用方都要增加。然后在被調用方寫一個接口:
在調用方使用feign調用:
然后在調用方寫一個測試接口:
現在直接申請令牌,然后訪問調用方測試接口,會出現如下401錯誤:
下面在調用方增加一個攔截器,在header中增加令牌:
測試
下面直接申請令牌,訪問調用方的測試接口,可以看到令牌中繼的結果:
代碼地址:https://gitee.com/blueses/spring-boot-security 30 31 32 33
本文由博客一文多發平台 OpenWrite 發布!