如何在应用程序或浏览器中存储JWT和刷新令牌?

时间:2020-07-15 16:46:08

标签: android jwt refresh-token

我构建了一个Rest-API,该API通过使用JWT和刷新令牌来处理请求。但是我不确定如何将其存储在客户端。

我应该将它们都存储在带有httponly标志的cookie中吗?

我应该同时存储cookie还是存储在本地存储中,例如共享首选项(Android App)?

我对在客户端处理这些令牌的最佳实践非常感兴趣?

2 个答案:

答案 0 :(得分:1)

标准建议:

  • 在移动用户界面中,将令牌存储在OS安全存储中
  • 在Web UI中,将访问令牌存储在内存中
  • 在Web UI中,刷新cookie中的令牌效果最佳

要正确执行,需要很多纪律。我的博客中提供了帖子和代码示例,您可以运行这些示例和代码示例来了解这些内容。也许从这里开始:

答案 1 :(得分:0)

此IMO的最佳解决方案是本地存储。 Cookie文件在浏览器中可能很有用-但可以由用户清除,也可以自动清除(在关闭私有窗口之后)。

如何设置cookie(包括有效期):

document.cookie = "value; expires=Thu, 01 Jan 2025 00:00:00 UTC; path=/;";

如何读取cookie:

const cookie = getCookie("value");
if (cookie === "value2") {
console.log("I get value 2");
} else {
console.log("I get other value");
}

如何设置本地存储:

localStorage.setItem('name', 'value');

如何读取本地存储:

const storage = localStorage.getItem('name');
if (storage === 'value2') {
console.log("I get value 2");
} else {
console.log("I get other value");
}

如果需要更多信息,请写评论。记住我的回答是否有帮助-标记为有帮助

相关问题