SpringCloud Zuul代理中的客戶令牌中繼

2023-12-05 17:25 更新

如果您的應(yīng)用程序還具有 SpringCloudZuul嵌入式反向代理(使用@EnableZuulProxy),則可以要求它向下游轉(zhuǎn)發(fā)OAuth2訪問令牌到它正在代理的服務(wù)。因此,可以像下面這樣簡單地增強上面的SSO應(yīng)用程序:

app.groovy。 

@Controller
@EnableOAuth2Sso
@EnableZuulProxy
class Application {

}

并且它將(除了登錄用戶并獲取令牌之外)還將身份驗證令牌傳遞到/proxy/*服務(wù)的下游。如果這些服務(wù)是通過@EnableResourceServer實現(xiàn)的,則它們將在正確的標(biāo)頭中獲得有效的令牌。

它是如何工作的?@EnableOAuth2Sso注釋會插入spring-cloud-starter-security(您可以在傳統(tǒng)應(yīng)用中手動完成此操作),并依次觸發(fā)ZuulFilter的一些自動配置,該激活本身是因為Zuul位于類路徑(通過@EnableZuulProxy)。濾波器 只提取用于下游請求從當(dāng)前認(rèn)證的用戶的訪問令牌,并把它在請求報頭。

 Spring Boot不會自動創(chuàng)建refresh_token所需的OAuth2RestOperations在這種情況下,您需要創(chuàng)建自己的OAuth2RestOperations,以便OAuth2TokenRelayFilter可以根據(jù)需要刷新令牌。

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號