Microsoft graph api Azure AD身份验证未按预期用于移动设备
我已经使用为Microsoft Team tab-(angular application)构建了一个身份验证系统,它在桌面(应用程序和浏览器)上运行良好,但当我尝试在移动应用程序上运行时,然后按Microsoft graph api Azure AD身份验证未按预期用于移动设备,microsoft-graph-api,botframework,microsoft-teams,Microsoft Graph Api,Botframework,Microsoft Teams,我已经使用为Microsoft Team tab-(angular application)构建了一个身份验证系统,它在桌面(应用程序和浏览器)上运行良好,但当我尝试在移动应用程序上运行时,然后按身份验证(见下图)按钮,在登录后将我带到登录弹出窗口,并返回到同一验证页面 现在,当我第二次尝试它时,它会将我放在我想要的页面上,但缺少数据,而且响应速度也不如预期 以下从iOS设备上截取的屏幕截图将进一步提供帮助:我使用的是版本:2.4.0 桌面视图: 主要查询: Azure AD()身份验证是
身份验证
(见下图)按钮,在登录后将我带到登录弹出窗口,并返回到同一验证页面
现在,当我第二次尝试它时,它会将我放在我想要的页面上,但缺少数据,而且响应速度也不如预期
以下从iOS设备上截取的屏幕截图将进一步提供帮助:我使用的是版本:2.4.0
桌面视图:
主要查询:
因此,要解决此问题,您需要使用ChangeDetectorRef.detectChanges手动通知angular。或者使用NgZone包装您的异步代码。运行是,要在移动客户端上为您的选项卡工作,您需要确保使用的是Team JavaScript SDK的1.4.1或更高版本。记住,(1)传递给MicrosoftTeam的URL。authentication.authenticate()是身份验证流的起始页。在本例中为/tab auth/simple start。这应该与您在Azure AD应用程序注册门户中注册的内容相匹配。(2) 身份验证流必须从域中的页面开始。此域也应列在清单的validDomains部分。否则将导致出现一个空的弹出窗口。(3) 未能使用microsoftTeams.authentication.authenticate()将导致在登录过程结束时弹出窗口无法关闭的问题。我最初使用的是
ChangeDetectorRef.detectChanges
现在我用NgZone包装了我的身份验证逻辑。运行
,它在所有平台上都能正常工作。