在基于浏览器的应用程序中保存JWT以及如何使用它的位置

10 浏览
0 Comments

在基于浏览器的应用程序中保存JWT以及如何使用它的位置

我正在尝试在我的身份验证系统中实现JWT,并且有几个问题。为了存储令牌,我可以使用cookies,但也可以使用localStorage或sessionStorage。

哪个选择最好?

我已经了解到JWT可以防止CSRF。然而,如果我将JWT令牌保存在cookie存储中,我无法想象它如何防止CSRF。

它如何防止CSRF呢?

更新1

我看到了一些用法示例,如下所示:

curl -v -X POST -H "Authorization: Basic VE01enNFem9FZG9NRERjVEJjbXRBcWJGdTBFYTpYUU9URExINlBBOHJvUHJfSktrTHhUSTNseGNh"

当我从浏览器向服务器发起请求时,我该如何实现这个呢?我还看到一些人在URL中实现了令牌:

http://exmple.com?jwt=token

如果我通过AJAX发送请求,我可以设置一个类似于jwt:[token]的头部,然后我可以从头部读取令牌。

更新2

我安装了Google Chrome浏览器的Advanced REST Client扩展,并能够将令牌作为自定义头部传递。在使用Javascript向服务器发起GET请求时是否可以设置这个头部数据?

0