You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Ak sa užívateľ prihlási, otvorí nový tab a v novom tabe sa odhlási, tak potom ako sa vráti do prvého tabu vidí, že je stále prihlásený. Myslel som, že použitím triedy RevalidatingServerAuthenticationStateProvider by sa problém vyriešil. Po uplynutí času stanovenom v RevalidationInterval by sa mala volať validácia definovaná v ValidateAuthenticationStateAsync(AuthenticationState, CancellationToken). Ak sa auth state vyhodnotí ako neplaný (teda validácia vrátila false), tak je uživateľ odhlásený. Lenže z nejakého dôvodu sa spomínaná validačná metóda nevolá.
The text was updated successfully, but these errors were encountered:
Update:RevalidatingServerAuthenticationStateProvider má v sebe metódu RevalidationLoop, ktorá má volať našu implementáciu metódy ValidateAuthenticationStateAsync, lenže riadok predtým je await Task.Delay(RevalidationInterval, cancellationToken);. Keď sa program dostane na tento riadok, preskočí do metódy IDisposable.Dispose, tam sa zavolá Cancel na cancellation tokene, čo spôsobí vyhodenie výnimky, tá sa odchytí v catch bloku (volanie ValidateAuthenticationStateAsync sa preskočilo), v ňom je break, ktorý nás vyhodí z whilu a RevalidationLoop sa tým končí.
V skratke...
Po zmene auth statu sa zavolá RevalidationLoop, ktorý by mal zavolať našu implementáciu metódy ValidateAuthenticationStateAsync, ale namiesto toho pri dojdení na await sa aktivuje cancellation token, ktorý ukončí RevalidationLoop. Takže sa nestane nič.
Ak sa užívateľ prihlási, otvorí nový tab a v novom tabe sa odhlási, tak potom ako sa vráti do prvého tabu vidí, že je stále prihlásený. Myslel som, že použitím triedy
RevalidatingServerAuthenticationStateProvider
by sa problém vyriešil. Po uplynutí času stanovenom vRevalidationInterval
by sa mala volať validácia definovaná vValidateAuthenticationStateAsync(AuthenticationState, CancellationToken)
. Ak sa auth state vyhodnotí ako neplaný (teda validácia vrátilafalse
), tak je uživateľ odhlásený. Lenže z nejakého dôvodu sa spomínaná validačná metóda nevolá.The text was updated successfully, but these errors were encountered: