我正在使用JWT身份验证创建一个Angular2 / Node.js应用程序。我的身份验证工作正常,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: '' }
];
此致
答案 0 :(得分:0)
您确定要将值添加到本地存储吗?使用Chrome开发工具检查并确保您可以在“应用”下查看该值。以下是使用开发工具检查此https://developers.google.com/web/tools/chrome-devtools/manage-data/local-storage
的Google文档我怀疑它没有被设置因为LocalStorage非常持久,你可以关闭浏览器并将其重新打开并且值仍然存在,你需要明确删除它以删除它。
另一种可能性是您的域名正在发生变化,浏览器认为您正在使用新网站,但是因为看起来您只是使用路由器导航到角度应用中的路线,而不会刷新页面或导航到任何地方(它只是推动历史状态),这是不太可能的。