Tôi có thể sử dụng MemoryCache
trong một ITicketStore
để lưu trữ AuthenticationTicket
không?Xác thực cookie Asp.Net Core
Bối cảnh: ứng dụng web của tôi đang sử dụng Cookie Xác thực:
app.UseCookieAuthentication(new CookieAuthenticationOptions
{
AutomaticAuthenticate = true,
AutomaticChallenge = true,
LoginPath = new PathString("/Authentication/SignIn"),
LogoutPath = new PathString("/Authentication/SignOut"),
ReturnUrlParameter = "/Authentication/SignIn"
});
api web của tôi xử lý các quá trình cấp phép sử dụng thẻ truy cập (OAuth2).
Đôi (trên một số trình duyệt) ngoại lệ sau đây được ném:
Một ngoại lệ unhandled đã xảy ra: Cookie chunked là không đầy đủ. Chỉ có 1 trong 2 khối dự kiến được tìm thấy, tổng cộng 4021 ký tự. Giới hạn kích thước ứng dụng khách có thể đã bị vượt quá.
Cookie rõ ràng là quá lớn. Điều này là lạ, bởi vì tôi không sử dụng nhiều tuyên bố. Tất cả trong số đó là các xác nhận quyền sở hữu mặc định (tên định danh, nonce, exp, v.v.). Tôi hiện đang cố gắng triển khai ITicketStore
của riêng mình dưới dạng SessionStore
trên số CookieAuthenticationOptions
. AuthenticationTicket
sẽ được lưu trữ trong một số MemoryCache
(như trong số sample) này. Tôi rất mới cho toàn bộ chủ đề này và không chắc chắn, nếu đây là một cách tiếp cận tốt và nếu MemoryCache
là một giải pháp hợp lệ.
https://github.com/aspnet/Security/issues/830 vấn đề github Điều này có thể hữu ích cho bạn. –