【发布时间】:2016-10-09 00:13:35
【问题描述】:
我们在一个 mvc 应用程序中使用 OpenIdConnect,并且想知道如何处理刷新令牌。
该应用程序由一个相当简单的 Web 前端和一个由网站调用的后端 Web 服务组成(用户代理在这里永远不会直接与后端对话,因为后端仅面向 Intranet)。
后端配置为使用 JwtBearerTokens 并且工作正常。
前端配置为使用 OpenIdConnect,并从本地 STS 接收 IdToken、AccessToken 和 RefreshToken。
AccessTokens 由 AspNet Core 的 OpenIdConnectHandler 从 access_code 自动交换。
当AccessToken即将过期时,我们尝试使用RefreshToken获取一个新的AccessToken。最初我们打算使用 ADAL,但从 API 中删除了 AcquireTokenByRefreshToken。由于我们不通过 ADAL 进行身份验证,而是使用 AspNet 内置的 OIDC,因此我们不能依赖 ADALS(非 HA)TokenCache。
那么是否有任何(内置)方法可以自动执行此操作?
如果没有 - 当我们自己实现它时 - 我们将新获得的 AccessToken 存储在哪里 - 我想将它放入 HttpContext.Authentication 中,但这似乎没有提供任何设置器?
【问题讨论】:
标签: security asp.net-core openid-connect adal