簡體   English   中英

Spring OAuth2 使用 Keycloak 自動登錄

[英]Spring OAuth2 automatical login with Keycloak

我在 Spring 安全方面經驗不足,所以我的問題可能聽起來有點奇怪。

我的環境由 4 個部分組成:

  • Keycloak 授權服務器(授權服務器)
  • Spring 資源服務器應用(資源服務器)
  • 2 OAuth2 客戶端應用程序(客戶端)

我配置得很好,OAuth2 和 SSO 與所有應用程序都可以正常工作。

除了 OAuth2 配置之外,還有更多工作要做。 當我的用戶使用客戶端應用程序時,他將在嘗試訪問資源時在表單上提供他的憑據。 但是我的model(資源用)比較復雜,時不時要做一些后台(家務)任務。 這些任務不是由用戶(以用戶的名義)完成的,而是由客戶端應用程序本身請求的。 我的問題是,如何以客戶端應用程序本身的名義從我的客戶端訪問資源服務器的端點。

我的第一個想法是客戶端應用程序應該存儲一個長期的 JWT 令牌並在調用期間使用這個令牌。 但我不確定。 我不想在糟糕的道路上浪費時間,這就是我首先要問的原因。

對我來說最關鍵和最可疑的部分:

  • 如何從 Keycloak 獲得長期 JWT
  • 如何自動登錄后台呼叫(通過 SSO 和 OAuth2)
  • 如何存儲自動登錄的憑據。

感謝您的想法或建議。

你永遠不應該擁有長期令牌,因為這是一個安全風險。

如果有人設法獲得一個長期令牌,那么他們就有很長時間惡意使用它。

我無法指導您如何在 keycloak 等中進行設置。但我會使用Client Credential Flow對服務器進行身份驗證,並在每次需要進行這些“家務工作”之一時獲取一個令牌。

您可以在此處閱讀有關流程的更多信息Client Credential Flow

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM