使用 Anguar2 路由器时 JWT 令牌被删除

JWT token being removed while using Anguar2 router

我正在创建一个具有 JWT 身份验证的 Angular2/Node.js 应用程序。我的身份验证工作完美,JWT 令牌存储在本地存储中。

现在,我通过路由器单击 link 进入其他 html 页面,但没有服务器调用。但是,在该新页面中,JWT 令牌 bing 从本地存储中删除。我没有加载整个页面,它停留在同一个浏览器中,所以不确定为什么本地存储中缺少令牌。任何帮助/建议将不胜感激。

下面是我的路由器定义

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: '' }

];

此致

您确定要将值添加到本地存储吗?使用 Chrome 开发工具检查并确保您可以在应用程序下看到该值。这是关于使用开发工具检查此 https://developers.google.com/web/tools/chrome-devtools/manage-data/local-storage

的 googles 文档

我怀疑它没有被设置,因为 LocalStorage 非常持久,您可以关闭浏览器并重新打开它,该值仍然存在,您需要明确删除它才能将其删除。

另一种可能性是您的域正在更改并且浏览器认为您在一个新站点上,但由于看起来您只是使用路由器导航到 angular 应用程序中的路线,它不会刷新页面或导航到任何不太可能的地方(它只是推送历史状态)。