2017-06-06 126 views
0

在我們的項目中,我們希望有一個「主」客戶端,用戶必須獲得一次訪問令牌。任何需要訪問令牌的客戶端都將通過「主」客戶端進行訪問。我可以使用OAuth2訪問令牌爲其他客戶端獲取訪問令牌嗎?

當前用戶每次客戶端需要訪問令牌時都必須登錄。如果我們的「主」客戶端有一個有效的令牌,並且我嘗試使用它到達授權端點,那麼我要麼轉到登錄頁面,要麼得到一個「InsufficientAuthenticationException:在授權完成之前,用戶必須使用Spring Security進行身份驗證。

在這一點上,我想知道它是否打算以這種方式訪問​​授權端點,或者如果我們只是做錯了什麼。

回答

0

我有同樣的問題。基本上,我所做的是將AbstractTokenGranter擴展爲新的grant_type,其中我從令牌存儲中獲得了認證,並使用第二個clientIds創建了新的TokenRequest。此外,您需要使用您的檢查來創建新的AbstractUserDetailsAuthenticationProvider,並且擴展UsernamePasswordAuthenticationToken以將其掛鉤在鏈中。 剩下的就是在設置中添加granter和提供者,並在oauth主服務器的請求中使用全新的grant_type。祝你好運!

相關問題