gpt4 book ai didi

javascript - 在 Javascript/AngularJS 中保护刷新 token

转载 作者:行者123 更新时间:2023-11-29 21:15:40 24 4
gpt4 key购买 nike

我需要在 Angular (Javascript) 应用程序的内存中存储刷新 token 。

token 将在身份验证时通过 Ajax 调用传递,然后需要存储在内存中,直到用户注销或关闭浏览器。

我现在想知道如何将此 token 安全地保存在内存中,使其无法通过控制台访问或有权访问该网页的恶意浏览器插件提取。

我发现了一些关于如何在 Angular 中使用刷新 token 的其他线程,但我认为实现不安全:

AngularJS - http interceptor - resend all request after token refresh

如果我用私有(private)对象替换 authService 来存储刷新和访问 token ,是否安全?

最佳答案

我认为您可能希望保护存储在内存中的敏感数据(例如 Javascript 中的刷新 token )以抵御多种不同的威胁。

首先想到的是将数据写入磁盘。考虑运行浏览器的 PC 内存不足并开始交换,或者您的用户决定休眠等情况。虽然在一些较低级别的语言中,即使在交换时,您也可以阻止操作系统将某些内存页面写入磁盘,但您在 Javascript 中的控制要少得多,并且也无法阻止休眠(显然在任何语言中)。

所以需要注意的一件事是,您的敏感信息可能会以明文形式写入磁盘(除非有某种磁盘加密),我认为您不能在 Javascript 中做太多事情。如果这是 Not Acceptable ,您可能不应该使用 Javascript。

另一种类型的攻击可能是攻击者利用浏览器或操作系统漏洞来访问您的内存部分。您也无能为力,您只需要信任操作系统和浏览器即可。

最后是应用层攻击,主要是XSS。我认为您实际上可以在某种程度上保护内容不受此影响,主要是通过以不将其暴露给其他脚本的方式存储数据,例如在闭包中。 This article总结得比我更好。

关于javascript - 在 Javascript/AngularJS 中保护刷新 token ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39516366/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com