我正在编写一个使用https://github.com/AzureAD/azure-activedirectory-library-for-cordova对Azure AD进行身份验证的应用程序。它会在应用程序中打开一个嵌入式浏览器,该浏览器显示我们的Azure AD页面,并且用户输入其凭据。由于我们需要多因素身份验证,因此系统会向他们发送一个推送通知,如果点击*,则会打开Microsoft Authenticator应用程序。
使用Safari的调试工具,我可以看到在切换到Authenticator之前,它会重复处理请求https://login.microsoftonline.com/common/SAS/EndAuth,每次收到包括“身份验证尚未完成,请重试”的响应。但是,一旦Authenticator应用程序运行(并且我的应用程序在后台),请求便会暂停,并且在批准完成后,我返回到我的应用程序,最后发出的请求会变成红色(在Safari检查器中)。
我相信我需要将我的应用标记为能够在后台运行,但是由于失去连接的页面来自AzureAD,也许有一个设置或修复措施可以在应用返回到以下位置时重新启动身份验证请求
*如果用户下拉通知,将为他们提供两个按钮“批准”和“拒绝”。我的应用程序被通知遮住了,但是没有其他应用程序真正引起关注。在这种情况下,当按下批准按钮时,对.... EndAuth的最终请求成功,则应用程序知道该请求已通过身份验证,一切都会进行。