【发布时间】:2015-12-14 09:57:37
【问题描述】:
我正在通过 JavaScript 从我的 ASP.NET MVC Web 应用程序向我的 Web API 进行 OAuth2 调用,以验证我的用户并获取令牌。 Web API 访问 SQL Server 数据库,其中使用 Identity 和典型的 AspNetUsers 表存储用户的登录信息。我的 API 调用返回 20 分钟访问令牌和 2 周刷新令牌。 API 和消费应用程序是我们正在开发的产品,我们的客户将注册这些产品。换句话说,所有的代码都在我们这边。
我知道我必须在访问令牌过期之前通过向 API 传递刷新令牌来刷新它。我的问题是......我在哪里存储客户端上的访问和刷新令牌以在我的 JavaScript 中使用以进行后续 API 调用或刷新令牌?网上有人说在客户端存储任何东西都是不好的,cookie 是不安全的,等等,但没有提供任何解决方案。本地存储?但当然,这些是我们对 API 进行的 JavaScript 中的 Ajax 调用,因此令牌需要存在于客户端的某个地方!试图弄清楚这一点让我发疯。我知道我至少需要使用 HTTPS。
【问题讨论】:
-
嗨,安迪,我正在寻找相同的解决方案 - 在客户端存储访问令牌和刷新令牌的位置。你有解决办法吗?
标签: javascript asp.net cookies oauth-2.0