簡體   English   中英

在 Keycloak 中使用離線 cookie 實現單點登錄 (SSO)

[英]Implement Single Sign On (SSO) using offline cookie in Keycloak

我們可以在 Keycloak 中使用離線 cookie 實現單點登錄 (SSO) 嗎?

我將應用程序“A”連接到 Keycloak 7.0.1 (KC) 服務器以進行身份​​驗證。 KC 為“ clientA ”下的用戶生成活動會話和離線會話,並將訪問令牌和離線令牌返回給用戶。 離線令牌的有效期為 X 天。 因此,當用戶再次嘗試連接到應用程序“A”時,它會使用離線 cookie 來獲取訪問令牌,並且用戶會獲得身份驗證。因此,身份驗證正在使用應用程序“A”的離線 cookie。

現在我有另一個應用程序 'B' ,可以說它托管在相同或不同的域上。 KC 能夠訪問相同的離線 cookie,但它不允許身份驗證。 此應用程序的客戶端'client B' 我得到的錯誤是“會話沒有必需的客戶端”

查看錯誤並閱讀文章,我了解到兩個不同的客戶端無法訪問相同的離線 cookie。 但我仍然想知道是否有人遇到過這種情況,以及允許兩個應用程序使用相同的離線 cookie 的方法是什么,或者我們是否缺少任何 keycloak 配置。

編輯這個問題:我們可以擁有任何領域級別的離線令牌,而不是為領域中的每個客戶端創建不同的離線令牌嗎?

keycloak 用於為不同的應用程序生成憑據,您需要在同一領域中為應用程序 b 創建第二個客戶端(您說您已經這樣做了)。

我認為您不能使用從應用程序 a 到應用程序 b 的訪問令牌。 如果兩個應用程序共享相同的私鑰,也許您可​​以根據生成令牌的方式來執行此操作,但是如果您這樣做,則可能不需要 keycloak。

然后在此客戶端發出授權請求,因為您已經在 keycloak 中有一個會話,這應該會自動發生並生成應用程序 b 所需的憑據。

要查看這是否正常工作,我會嘗試直接在應用程序 b 中登錄,轉到 keycloak,在那里登錄並查看提供的令牌是否可以讓我登錄到應用程序 b。

對不起,高水平的回應,但你的問題本身也是相當高水平的。

暫無
暫無

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

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