Asp.net-Mvc

未找到 securityToken 的有效鍵映射

  • September 16, 2020

我正在開髮用於在 MVC-ASP.net (Visual Studio 2013) 中顯示經過身份驗證的身份聲明的測試應用程序,我已通過以下方式從活動目錄進行身份驗證。

1.在解決方案中添加新的mvc項目。2.點擊更改身份驗證。3.選擇組織帳戶 4.選擇本地。5.given federation url 6.App Id url

執行應用程序後,我收到以下錯誤。

WIF10201:未找到 securityToken 的有效密鑰映射:“System.IdentityModel.Tokens.X509SecurityToken”和頒發者:“ http://websso.avanade.com/adfs/services/trust

此錯誤僅針對此聯邦,對於我能夠看到索賠的其他聯邦。

在網際網路上搜尋後,我認為這是證書(指紋)問題。但我不清楚解決方案。

任何人都可以解釋為什麼這個錯誤拋出和相同的解決方案。

提前致謝 !!!

此錯誤可能有 2 個原因。

  1. web.config 中缺少指紋:從 ADFS 獲取實際指紋並將其放入 web.config 中的指紋標記下
  2. 站點和 ADFS 配置之間的埠號不匹配:使用包含正確埠號的 url 更新 ADFS 配置

第二個解決方案為我修復了它……

我在嘗試更新舊版 MVC 應用程序以使用 AAD 時遇到了這個問題。

我基於一個新創建的具有組織身份驗證的項目進行了更改,並註意到我沒有一個名為 的連接字元串DefaultConnectionDatabaseIssuerNameRegistry假設你會這樣做,我也沒有數據庫中的任何一個所需的表。

使用 Vittorio Bertocci 的所有詳細資訊的精彩文章IssuingAuthorityKey,我重構了程式碼以集成新的數據庫表,創建並應用遷移,並分別在新表和表中插入適當的鍵和租戶Tenant。我還必須確保更改DatabaseIssueNameRegistry以使用現有的DbContext.

引用自:https://stackoverflow.com/questions/24304097