2014-01-20 5 views
0

Я читаю список SharePoint из Office 365 в приложении Windows Phone 8. Мой код приложения основан на этом sample code from Microsoft. Он используетКак выйти из аутентифицированного ListDataProvider/Authenticator в Windows Phone 8

  • Microsoft.SharePoint.Phone.Application.ListDataProviderBase
  • Microsoft.SharePoint.Client.ClientContext
  • Microsoft.SharePoint.Client.Authenticator

Реальная проблема неоспоримым SignOut не работает!

При первом запросе на сервер клиент запрашивает аутентификацию и показывает размещенное окно браузера, в котором я могу ввести учетные данные моей учетной записи. Я выбираю, чтобы оставаться здесь.

Если я перезапущу приложение, он аутентифицирует меня, не показывая пользовательский интерфейс.

Я хотел был бы иметь возможность переключить пользователя или просто вывеска, не оставляя никаких учетных данных на телефоне позади.

я нашел следующие статические методы Authenticator, которые ничего не меняют:

Authenticator.ClearAllCookies(); 
Authenticator.ClearAllCredentials(); 
Authenticator.ClearAllApplicationSettings(); 

Что такое Предпочитаемый способ сделать это?

ответ

0

Это пример того, как я выхода из пользователя в моем списке SP App для WP8:

 App.MainViewModel.IsInitialized = false; 
     Authenticator.ClearAllCredentials(); 
     App.MainViewModel.Initialize(); 
     MessageBox.Show("You have been successfully logged out, click refresh to login again."); 

Ваше приложение может быть немного по-другому, но вы должны, по крайней мере, получить в App и ViewModel к set Инициализировано как false. Я сделал expxect App.MainViewModel.Initialize(), чтобы показать страницу входа, но вам нужно щелкнуть обновление после вызова этого метода SignOut, поэтому я отобразил сообщение.

Надеюсь, это вам поможет.

+0

После выписки, если пользователь снова войдет в систему, запрашивает ли он свои учетные данные? – fabsenet

+0

Да, похоже, работает как и ожидалось. При обновлении или синхронизации страницы после выполнения вышеуказанного кода пользователю будет предложено снова войти в систему. – JeffreyJ