Czy mogę użyć MemoryCache
w urządzeniu ITicketStore
do zapisania AuthenticationTicket
?Uwierzytelnianie plików cookie Asp.Net Core
Tło: Moja aplikacja internetowa korzysta z uwierzytelniania Cookie:
app.UseCookieAuthentication(new CookieAuthenticationOptions
{
AutomaticAuthenticate = true,
AutomaticChallenge = true,
LoginPath = new PathString("/Authentication/SignIn"),
LogoutPath = new PathString("/Authentication/SignOut"),
ReturnUrlParameter = "/Authentication/SignIn"
});
My Web API obsługuje proces autoryzacji przy użyciu tokenów dostępu (OAuth2).
Czasami (w niektórych przeglądarek) dodaje się wyjątek:
nieobsługiwany wyjątek: spowodował pakietowego ciastko jest niekompletny. Znaleziono tylko 1 z oczekiwanych 2 fragmentów, w sumie 4021 znaków. Limit rozmiaru klienta mógł zostać przekroczony.
Ciastko jest oczywiście za duże. To dziwne, ponieważ nie używam wielu roszczeń. Wszystkie są domyślnymi roszczeniami (nameidentifier, nonce, exp, etc.). Próbuję teraz wdrożyć własne ITicketStore
jako SessionStore
na CookieAuthenticationOptions
. Numer AuthenticationTicket
zostanie zapisany w postaci MemoryCache
(podobnie jak w tym sample). Jestem bardzo nowy w tym temacie i nie jestem pewien, czy jest to dobre podejście i czy MemoryCache
jest prawidłowym rozwiązaniem.
https://github.com/aspnet/Security/issues/830 Ten problem może być github pomocny dla ciebie. –