Удаляется токен JWT при использовании маршрутизатора Anguar2
Я создаю приложение Angular2/ Node.js с аутентификацией JWT. Моя аутентификация работает отлично, и токен JWT хранится в локальном хранилище.
Теперь я перехожу на другую html-страницу, щелкая по ссылке через маршрутизатор, и сервер не обращается. Однако на этой новой странице токен JWT удаляется из локального хранилища. Я не загружаю всю страницу, и она остается в том же браузере, поэтому не уверен, почему токен отсутствует в локальном хранилище. Любая помощь / рекомендация будет принята с благодарностью.
Ниже мое определение маршрутизатора
const appRoutes: Routes = [
{path : '', component : LoginComponent},
{path : 'logout', component : LoginComponent},
{path : 'home', component: HomeComponent},
{path : 'themes', component: ThemesComponent},
//{path : 'contactUs', component : ReportComponent}
// otherwise redirect to home
{ path: '**', redirectTo: '' }
];
С уважением
1 ответ
Вы уверены, что добавляете значение в локальное хранилище? Используйте инструменты разработчика Chrome, чтобы проверить и убедиться, что вы видите значение в разделе "Приложение". Вот документ Google по использованию инструментов разработчика для проверки этого https://developers.google.com/web/tools/chrome-devtools/manage-data/local-storage
Я подозреваю, что он не установлен, потому что LocalStorage очень постоянный, вы можете закрыть браузер и снова открыть его, и значение все равно останется, вам нужно явно удалить его, чтобы удалить.
Еще одна возможность состоит в том, что ваш домен меняется, и браузер думает, что вы находитесь на новом сайте, но, похоже, вы просто используете маршрутизатор для перехода к маршруту в угловом приложении, которое не обновляет страницу или перемещаться куда угодно (это просто выдвигает историческое состояние), что маловероятно.