我们有一个使用Angular 2的spring-boot应用程序,对于身份验证,我们使用JWT。我遇到一个问题-即使令牌已过期,然后注销并再次登录,过期的JWT令牌在请求标头上仍然可用。因此,后端仍会验证旧的JWT令牌,而不是新的令牌。我需要清除浏览器缓存才能使其正常工作。
我看到令牌已存储在SessionStorage中,所以下面的操作也清除了<div>
<ul className="header">
<li><Route component={Logo} /></li>
</ul>
<BrowserRouter>
<div>
<ul className="header">
<li><NavLink exact to="/page1">Page 1</NavLink></li>
<li><NavLink to="/page2">Page 2</NavLink></li>
<li><NavLink to="/page3">Page 3</NavLink></li>
</ul>
<div className="content">
<Route exact path="/page1" component={Page1} />
<Route path="/page2" component={Page2} />
<Route path="/page3" component={Page3} />
</div>
</div>
</BrowserRouter>
</div>
上的令牌
logout()
但这也不能清除旧令牌。我该怎么做才能从浏览器中清除令牌?
答案 0 :(得分:0)
仔细阅读代码后,我发现标头被定义为“ const”。当我将其更改为“ let”时,所有标头都可以正常工作。