Tôi có 2 ứng dụng (một .NET và các dịch vụ khác của Angular SPA (cùng với tên miền.) Tôi cần kích hoạt SSO cho 2 ứng dụng này. config có cùng một khóa máy và chúng được bật cho chế độ xác thực Mẫu.C# Forms Authentication .ASPXAUTH Cookie cho SSO
Tôi đăng nhập vào trang .NET. Tôi trình bày trang web góc trong iFrame. Khi mở khung nội tuyến, lệnh gọi API bao gồm cookie .ASPXAUTH tiêu đề yêu cầu nhưng HttpContext.User.Identity.Authenticated được đặt thành false. Vì vậy, nó trả về một 404 và chuyển hướng đến trang đăng nhập cho trang web góc trong iframe.
Cookie auth is HttpOnly nên góc không thể đọc Nhưng si nce cookie được đặt trong tiêu đề yêu cầu, phương thức API (.NET) nên xem xét nó như được xác thực và nó không phải là. Bất cứ điều gì tôi đang mất tích?
bạn có sử dụng cùng một tên cookie xác thực cho cả hai ứng dụng không? – AMember
yeah, của nó .ASPXAUTH – Dave
Tôi sẽ bắt đầu với việc kiểm tra một cái gì đó như 'FormsAuthentication.Decrypt (HttpContext.Request.Cookies [FormsAuthentication.FormsCookieName] .Value)' trên yêu cầu API, để bạn có thể đảm bảo giá trị được truyền có thể được giải mã và chứa Mã định danh người dùng hợp lệ có thể được sử dụng bởi API – Lanorkin