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

时间:2017-10-17 19:24:54

标签: azure authentication asp.net-core azure-active-directory

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

使用OpenIdConnect和Cookie,Azure.net身份验证可以保护asp.net核心应用程序。我正在看的是我应该如何为用户处理过夜空闲会话的令牌到期。

目前,如果用户将恢复其过期的浏览器会话,则会对从Angular App发出的异步API调用抛出异常。我应该如何让Angular App将用户重新定向回Azure AD应用程序的登录页面?。

2 个答案:

答案 0 :(得分:1)

您可以在网络应用中实施一个隐藏的iframe,每隔45分钟就会对您的服务器发出一次请求。这样,您的令牌在您的应用程序运行时始终有效。

This blog post讨论此问题并解释您的选项,包括显示按计划间隔发出请求的脚本。

答案 1 :(得分:1)

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