我有POC Xamarin Forms PCL应用程序并使用MSAL成功验证。我的REST调用(读取用户配置文件和共享点列表数据)到图形API都是成功的。
我正在尝试使用令牌在浏览器中打开sharepoint页面,即不要求用户重新进行身份验证。
Device.openUri总是将用户发送到auth页面,这是有道理的,因为我没有用它发送令牌。
这有可能吗?如果是这样,怎么办呢?
答案 0 :(得分:0)
你所要求的确切答案的简短答案是“不”,而你想要达到的目标是“可能不是”。至少今天没有直接使用MSAL。
当用户被发送登录时,MSAL正在调用依赖于平台的浏览器窗口,该窗口导航到Azure AD以进行登录和同意过程。根据设备平台,此浏览器窗口可能(或可能不)与其他应用程序和完整浏览器共享cookie状态。
如果 共享Cookie空间,那么当您在浏览器中启动SharePoint时,可以重新使用在您的应用登录期间设置的Cookie,以提供相对无缝的标志 - 直接进入SharePoint。如果不,则Azure AD不会使用现有的浏览器会话工件(即cookie)来提供单点登录。
例如,在iOS(Xamarin)上,MSAL for .NET将调用SFSafariViewController。 SFSafariViewController 不与其他应用程序或Safari浏览器共享cookie空间。