在核心和角度应用中处理过期 asp.net Azure AD 会话



我有一个 Asp.Net 核心项目,其中包含一个角度应用程序。asp.net 核心项目中有几个 API 控制器。这些控制器是从 Angular 应用程序中调用的。

asp.net 核心应用受使用 OpenIdConnect 和 Cookie 的 Azure AD 身份验证保护。我正在研究的是我应该如何处理用户夜间空闲会话的令牌到期。

目前,如果用户将恢复其已过期的浏览器会话,则会在从 Angular 应用程序进行的异步 API 调用中引发异常。如何使 Angular 应用将用户重定向回 Azure AD 应用程序的登录页面?

我通过将令牌缓存移动到 Sql Server 来解决令牌过期问题。完成此操作后,如果当前内存中令牌已过期,则使用 sql Server 中的刷新令牌生成新的访问令牌。

您可以在 Web 应用中实现一个隐藏的 iframe,该 iframe 每 45 分钟左右对服务器发出请求。这样,在应用程序运行时,令牌将始终有效。

这篇博文讨论了这个问题并解释了你的选择,包括显示按计划的时间间隔发出请求的脚本。

最新更新