После реализации логики входа я хочу перенаправить на ReturnUrl, если он существует. ReturnUrl имеет атрибут Authorize, но при выполнении GetAuthenticationStateAsync() значение protectedLocalStorage становится нулевым после выполнения NavigationManager.NavigateTo().
Это соответствующий код для входа в систему.
Код: Выделить всё
await protectedLocalStorage.SetAsync("authToken", token);
NavigationManager.NavigateTo(ReturnUrl ?? "");
И я пытаюсь получить protectedLocalStorage в GetAuthenticationStateAsync() вот так
Код: Выделить всё
result = await protectedLocalStorage.GetAsync("authToken"); //protectedLocalStorage is null after the redirect
Я отключил предварительную отрисовку в
App.razor, и она работает нормально, за исключением попыток перенаправления на авторизованный компонент
Код: Выделить всё
private IComponentRenderMode? RenderModeForPage => HttpContext.Request.Path.StartsWithSegments("/Account") ? null : new InteractiveServerRenderMode(prerender: false);
Если я обычно перехожу к авторизованному компоненту, щелкая ссылку или вводя URL-адрес после входа в систему, он работает правильно. Это происходит только после использования функции NavigationManager.NavigateTo
Подробнее здесь:
https://stackoverflow.com/questions/792 ... navigateto