2013-08-23 3 views
2

Я написал приложение для Android, которое использует Azure для входа пользователя в Google, Twitter и Facebook; он использует Microsoft.WindowsAzure.MobileServices.Android.dll и с этим я могу сделать что-то вродеLoginAsync missing

await Client.LoginAsync(context, MobileServiceAuthenticationProvider.Google); 

(в Лазурном набор идентификаторов и секреты, чтобы использовать Google, Facebook и Twitter).

Сейчас я разрабатываю приложение для Windows (настольное приложение) с помощью Windows 7, VS2012 и Framework 4.5, и я хотел бы выполнить ту же логин (так что я могу получить аутентификации маркер и использовать его для запрос моей базы данных sql); Я использовал NuGet для импорта пакета Microsoft.WindowsAzure.Mobile, и я вижу ссылки как Microsoft.WindowsAzure.Mobile и Microsoft.WindowsAzure.Mobile.Ext.

Когда я пытаюсь использовать LoginAsync, такой синтаксис, который я использовал в Android, отсутствует.
По этой ссылке http://www.windowsazure.com/en-us/develop/mobile/how-to-guides/work-with-net-client-library/#caching в пакете расширения должен быть метод расширения, что позволяет мне использовать

user = await client.LoginAsync(MobileServiceAuthenticationProvider.Google); 

но ВС не может видеть это, и поэтому я не могу использовать его.
Я вижу метод

LoginAsync(MobileServiceAuthenticationProvider provider, JsonObject token) 

но мне это не нужно честно ...
Могу ли я что-то отсутствует?

ответ

5

Метод «упрощенного» или «на основе браузера» доступен на всех поддерживаемых платформах, за исключением полной .NET Framework 4.5. Эта платформа не обладает этой функциональностью, поскольку есть случаи, когда она не может отображать веб-интерфейс, где пользователь может ввести свои учетные данные. Например, его можно использовать в бэкэнд-службе (см. Пример в this post). Это может быть консольное приложение, в котором нет «родного» способа отображения веб-страницы. Даже по типам проектов с «родными» компонентами пользовательского интерфейса, такими как WinForms или WPF, нет никакого «естественного» способа показать страницу входа в систему - если бы окно было основано на WPF, это выглядело бы непринужденно в приложении WinForms, -versa.

Для конкретной платформы вы можете добавить этот метод как метод расширения. Сообщение в http://blogs.msdn.com/b/carlosfigueira/archive/2013/08/27/web-based-login-on-wpf-projects-for-azure-mobile-services.aspx говорит именно об этом, и в нем есть код, показывающий, как это можно сделать.

+0

Спасибо Карлос, спасибо миллион. Завтра я проверю вашу ссылку и попробую ваше решение. Спасибо! – Marco