【问题标题】:Storage of OAuth access tokens in Javascript clients (e.g. Angular) [closed]在 Javascript 客户端(例如 Angular)中存储 OAuth 访问令牌 [关闭]
【发布时间】:2017-05-06 18:29:20
【问题描述】:

我正在研究将 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 一起使用?

【问题讨论】:

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


【解决方案1】:

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

前提条件是您的 JS 代码是安全的。执行此操作的唯一方法是限制性内容安全策略。

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

IOW - CSP 对于每个 JS 应用程序都是强制性的

【讨论】:

  • 我同意这个观点,Web Storage 是大多数场景的合适选择。 @martintro,无论选择哪种方式,都会有与安全相关的考虑,您可能会发现这种pros and cons 类型的答案,包括Web Storage 和cookie,对相关问题很有帮助。
猜你喜欢
  • 2012-10-08
  • 2019-07-11
  • 2021-09-12
  • 2021-01-24
  • 2020-06-08
  • 2021-09-13
  • 2017-05-31
  • 2018-11-22
  • 2020-01-10
相关资源
最近更新 更多