![](/img/trans.png)
[英]How to handle jwt token and refreshtoken in a client side express application?
[英]How to handle JWT token on client side of Spring MVC?
有Spring MVC应用程序-服务器生成HTML,客户端不是SPA(即,这与任何形式的API无关)。
在认证期间,将生成JWT令牌并将其返回给客户端。 在授权期间,服务器验证JWT令牌。
如何在客户端存储JWT令牌并将其通过所有其他请求传递给服务器? 请记住,这是Spring MVC应用程序,而不是SPA。
我尝试用Google搜索任何示例,但唯一的发现与REST身份验证有关,而根本与这种情况无关。
在最坏的情况下,我们可以从JavaScript执行身份验证,并将JWT令牌存储在缓存/ Cookie中。 但是也许Spring MVC可以立即支持此功能,我们只需要在配置中设置一些复选框即可:-)
对于非SPA,通常的方法是将身份验证令牌存储在服务器会话中。 客户端发出请求时,将通过JSESSIONID cookie检索适当的会话(如果禁用cookie,则将JSESSIONID添加到URL)。
我不确定为什么不能使用上述方法,但是如果要将JWT存储在客户端上,则常见的方法是:
window.sessionStorage.authToken = 'token_value'
; Authorization
HTTP标头设置为令牌的值,将令牌添加到每个后续请求 我可以从服务器端使用带有JWT令牌的“ Set-Cookie”标头。 客户端会将此标头解释为自动设置cookie。 在这种情况下,将令牌传递给每个请求将无需客户端执行其他步骤。
一些细节在这里描述https://stormpath.com/blog/where-to-store-your-jwts-cookies-vs-html5-web-storage
在提供更好的选择之前,我将使用它作为公认的答案。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.