在Javascript客户端中存储OAuth访问令牌(例如Angular)

时间:2016-12-21 10:49:31

标签: angular oauth-2.0 identityserver3 openid-connect identityserver4

我正在考虑将IdentityServer4与ASP.NET WebAPI,Angular等一起使用。

在大多数使用Javascript客户端的OAuth 2示例中,我看到访问令牌存储在本地存储或会话存储中。我还阅读了他们认为这是个坏主意的帖子,例如这两个:https://stormpath.com/blog/where-to-store-your-jwts-cookies-vs-html5-web-storagehttp://cryto.net/~joepie91/blog/2016/06/13/stop-using-jwt-for-sessions/

是否有任何方法可以使用Cookie代替API,例如提及IdentityServer的帖子?

1 个答案:

答案 0 :(得分:3)

我个人认为会话/本地存储(取决于您的需求)是正确的地方。

前提条件是您的JS代码是安全的。实施这一点的唯一方法是限制性内容安全策略。

https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP

IOW - 每个JS应用程序都必须使用CSP