Цель Я пытаюсь загрузить страницы сайта Sharepoint в Xamarin WebView с URL-адресом, таким как приложение SharePoint Android / iOS, показывающее страницы сайта без запроса пользователя войти в систему при просмотре веб-страниц.
Progress Приложение использует ADAL AcquireTokenAsyn c () для получения токена доступа из Azure AD и установки источника WebView в качестве URL-адреса страниц современного сайта SharePoint. Когда пользователь впервые входит в приложение с помощью AcquireTokenAsyn c (), веб-просмотр успешно загружает страницу сайта.
Issue : После того, как пользователь закрывает и перезапускает приложение, оно использует AcquireTokenSilentAsyn c () для аутентификации. Но когда веб-просмотр загружает страницу сайта с URL-адресом, Microsoft просит пользователя снова войти в систему при веб-просмотре.
Примечания После проверки подлинности с помощью AcquireTokenSilentAsyn c () в CookieManager и NSHttpCookieStorage отсутствуют некоторые файлы cookie. Я также попытался с MSAL, и проблема все еще сохраняется.
Вопрос Почему отсутствуют файлы cookie, когда приложение использует AcquireTokenSilentAsyn c (). Как достичь цели, не прося пользователя войти в систему дважды?
Вот несколько снимков кода для аутентификации и просмотра веб-страниц.
var platformParams = new PlatformParameters ((Activity) Forms. Контекст); пытаться { authResult = await authContext.AcquireTokenSilentAsyn c (resource, clientId); } поймать (исключение) { authResult = await authContext.AcquireTokenAsyn c (resource, clientId, uri, platformParams); }
var sitePageWebView = новый WebView { Источник = "https://company.sharepoint.com/SitePages/page-title.aspx", MinimumHeightRequest = 1000, HorizontalOptions = LayoutOptions.FillAndExpand };