我有一個SharePoint應用程序(App1),它通過ADFS身份驗證進行Passport身份驗證。我有另一個asp.net應用程序在另一個子域(App2),它也有ADFS身份驗證。從第一個應用程序中,我有一個$ .ajax(jquery)調用來控制託管在另一個應用程序中。執行靜默身份驗證時發生ADFS錯誤
問題是FedAuth Cookie沒有從App1發佈到App2。在HTTP跟蹤中,我發現FedAuth Cookie域名是特定於計算機的。在web.config「federatedAuthentication」部分 - > cookieHandler中,我提到域名爲「microsoft.com」。這解決了FedAuth在域屬性中沒有機器名稱的問題。
此更改後,我遇到了以下錯誤: ID4230:SecurityToken格式不正確。期望元素名稱'SecurityContextToken',找到'SP'。
在網上找不到幫助。嘗試改變cookieHandler的路徑和名稱屬性,但沒有解決問題。更改名稱是創建兩個FedAuth cookie。一個帶有FedAuth名字,另一個帶有新名字。
特別說明:如果在驗證後打開App1並在瀏覽器中粘貼App2的URL,那麼無聲驗證工作正常,我可以看到App2的控件。只有當我通過Ajax調用App2控件時纔會出現問題。我嘗試過使用credentials = true - > XMLHTTPRequest對象來調用$ .ajax「),但無濟於事。
任何幫助指針,使沉默認證通過Ajax調用工作正常嗎?
我知道我需要更改cookie名稱來解決我有一個問題,但這是隻有我能找到的東西顯示了配置設置的位置。謝謝。 –