Javascript 如何在React应用程序中存储OAuth2访问令牌?
我对React还不熟悉,希望安全地存储OAuth2访问令牌以调用API。我发现了以下几种选择Javascript 如何在React应用程序中存储OAuth2访问令牌?,javascript,reactjs,ecmascript-6,oauth-2.0,Javascript,Reactjs,Ecmascript 6,Oauth 2.0,我对React还不熟悉,希望安全地存储OAuth2访问令牌以调用API。我发现了以下几种选择 将其保存在本地存储/会话存储中(这可能容易受到XSS攻击) 为React应用程序提供后端,并在后端会话中存储访问令牌,并保留会话cookie以标识浏览器会话。然后通过后端进行所有API调用以添加承载头 加密访问令牌并将其存储为cookie。API访问将通过后端进行,在后端加密的cookie将被解密并添加为承载头 什么是最好的解决方案?我会选择第三个选项 Encrypt the access token
什么是最好的解决方案?我会选择第三个选项
Encrypt the access token and store it as a cookie. API access will be haven through the back-end where encrypted cookie will be decrypted and added as a Bearer header.
与令牌相关的所有内容都必须存储在客户端。我们没有办法,但可以通过向令牌添加加密使其更安全,从而使其更安全。但这种方法将使开发人员必须设置加密和解密算法来处理令牌。您的第二个选择是最佳选择。我们也在这样做。
为React应用程序提供后端,并在后端会话中存储访问令牌,并保留会话cookie以标识浏览器会话。然后通过后端进行所有API调用以添加承载头。我最近发现的最佳解决方案之一是,它将令牌存储在a中的变量中,这样就不会从应用程序上运行的js访问它。它还可以作为代理,我们需要通过worker进行API调用,以便它添加授权头