我目前正在开发一个Web应用程序,通过OpenID Connect通过Azure AD对用户进行身份验证。当未经身份验证的用户点击应用程序时,他们会被重定向到Microsoft登录页面,在那里他们可以输入他们的AD凭据并登录该站点。这一切都很好并按预期工作。
问题是Azure AD访问令牌只持续一个小时,因此如果用户在页面上停留超过一个小时然后决定继续在该页面上工作(例如,在页面内进行ajax调用),用户端没有任何反应(页面基本上没有响应服务器调用)。如果用户手动刷新其页面,则他们的访问权限将被刷新,并且他们可以正常继续使用该应用程序,但是当用户每小时刷新一次页面时,这显然是个问题。
我一直在网上寻找解决方案,但我找不到具体的东西;处理该问题的大多数问题都涉及Web API调用,但在尝试制作前端时,我没有找到任何有关如何通过后端进行身份验证(即通过OpenID通过Azure AD进行身份验证)来处理问题的可靠信息(即ajax)在AD访问令牌过期时调用。