我有兩個應用程序(一個.NET和其他Angular SPA(.NET中的Web服務))具有相同的域名,我需要爲這兩個應用程序啓用SSO。 config具有相同的機器密鑰,並且它們啓用了表單身份驗證模式。C#Forms身份驗證.ASPXAUTH Cookie的SSO
我登錄到.NET站點,在iframe中呈現角度站點。當打開iframe時,API調用包含.ASPXAUTH cookie請求標題但HttpContext.User.Identity.Authenticated設置爲false,因此它返回404並重定向到iframe中角度站點的登錄頁面。
auth cookie是HttpOnly,因此角度無法讀取它但是si如果cookie是在請求頭中設置的,則API(.NET)方法應將其視爲已認證,而不是。我錯過了什麼?
你是否對這兩個應用程序使用相同的auth cookie名稱? – AMember
是的,它的.ASPXAUTH – Dave
我會開始在API請求上檢查'FormsAuthentication.Decrypt(HttpContext.Request.Cookies [FormsAuthentication.FormsCookieName] .Value)',以便您可以確保傳遞的值可以被解密幷包含有效的用戶標識符可以使用API – Lanorkin