天天看點

IdentityServer4 負載均衡配置

  在不用到負載之前,一切都很好,但是部署多個執行個體之後,問題挺多的:session問題、令牌簽發後的校驗問題。

在此之前,先自查官方文檔:Deployment — IdentityServer4 1.0.0 documentation

把必要的東西都配置正确,然後繼續排查。

   在需要經常需要與統一身份認證平台進行互動的情況(比如,A站點和B站點都是統一身份認證平台下的子系統,希望A站點登入後,在B進行登入的時候可以免登入的情形),建議不用繼續使用sessionID,如果不需要,則存放在redis,實作分布式session也是選擇。

  部署後啟動:

然後在A站點登入之後,關閉A站點,啟動B站點進行測試是否正常可以驗證通過,會發現提示去登入,檢視日志發現:

然後F12檢視cookie已經被删除,講白了就是AB兩個站點并不互認,官方文檔裡面寫着

我真想抽它鴨子的。

解決:

  因為ids4是有引用到微軟庫的一個 Microsoft.AspNetCore.DataProtection (資料保護參考:ASP.NET Core資料保護 | Microsoft Docs)是以可以不用引用,你需要引用一個包:

然後在使用:

就ok了,或者不想用StackExchangeRedis,就自己實作:

擴充:

引用

然後重新測試,會發現token已經校驗通過:

坐等下班!

作者:EminemJK(山治先生)

出處:https://www.cnblogs.com/EminemJK/

您的支援是對部落客最大的鼓勵👍,感謝您的認真閱讀。

本文版權歸作者所有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接配接,否則保留追究法律責任的權利。

IdentityServer4 負載均衡配置

繼續閱讀