2017-04-20 23 views
0

我試圖做後端到後端認證與OAuth2用戶

現在我工作的一個Java後端春季爲負責管理他從NLP會從api.ai和請求都給出相應的信息。現在我想與使用OAuth2的不同服務交互以從中獲取信息/數據。

我在application.properties文件做了什麼至今

我已經加入我的服務的憑證。但只找到了一個解決方案,用戶可以例如使用他的Facebook憑據登錄我的服務。 但我需要讓我的服務在其他服務上進行身份驗證(使用來自我的屬性文件的給定憑據),以便從那裏收集數據。

你們知道一個解決方案,tipps,訣竅呢?

回答

1

據我所知,邏輯應該在下面。

由於您擁有SSO(基於OAuth2),您只需登錄一次並從OAuth2服務(訪問令牌和刷新令牌)獲取令牌。當您調用您的任何服務時,訪問令牌包含在請求標頭中。 現在Service1必須使用相同的認證信息調用Service2。

在Service1中,您可以調用OAuth2服務來檢查令牌是否有效。如果是,所有你需要的是使用相同的標記來調用Service2。

所以,只需從請求頭中提取令牌並添加到發送給Service2的請求標頭中。可以完成例如通過添加Filter並將認證信息存儲在ThreadLocal變量中(或者,如果通過例如運行作業生成新線程,則可繼承ThreadLocal)。

Service2依次通過調用OAuth2服務來檢查令牌,但令牌有效。

對於我來說,這就是你所需要的。