Microsoft Azure
Облачный бизнес
Вам понадобится

Microsoft Azure

Попробуйте платформу Microsoft Azure совершенно бесплатно.

Visual Studio

Бесплатная версия Visual Studio, позволяющая создавать приложения для платформы Microsoft Azure.

SDKs и дополнительные
инструменты

Инструменты разработки приложений для платформы Microsoft Azure.

Microsoft Azure Mobile Services – краткое руководство по использованию. Часть 3.

Для изучения материала изложенного в данной статье вам потребуется подписка на облачную платформу Microsoft Azure. Вы можете получить ее бесплатно:

Аутентификация

В этой части рассмотрены вопросы аутентификации в мобильном сервисе из вашего приложения.

Регистрация приложения для аутентификации и настройка мобильного сервиса

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

Войдите на портале управления, перейдите на MobileServices и выберите ваш мобильный сервис (рисунок 1).

Рис. 1. Портал управления Microsoft Azure

Перейдите на вкладку Dashboard и запишите значение SiteURL (рисунок 2).

Рис. 2. Портал управления Microsoft Azure

Настроим аутентификацию через Facebook. Для этого понадобится аккаунт Facebook.

Перейдите на страницу Facebook Developers и войдите в систему.

Нажмите Apps, затем Create New App (рисунок 3).

Рис. 3. Портал Facebook

Выберите уникальное имя для приложения и нажмите OK (рисунок 4), что зарегистрирует приложение на Facebook.

Рис. 4. Портал Facebook

В Select how your app integrates with Facebook разверните Website with Facebook Login,введите URL мобильного сервиса в поле Site URL и нажмите Save Changes (рисунок 5).

Рис. 5. Портал Facebook

Запишите значения App ID и App Secret (рисунок 6).

Рис. 6. Портал Facebook

Аутентификация на портале настроена.

Перейдите на портал управления Microsoft Azure и во вкладке Identity введите записанные значения App ID и App Secret, после чего нажмите Save (рисунок 7).

Рис. 7. Портал управления Microsoft Azure

Ограничения прав аутентифицировавшихся пользователей

На портале управления во вкладке Data выберите таблицу TodoItem (рисунок 8).

Рис. 8. Портал управления Microsoft Azure

На вкладке Permissions определите все права в Only authenticated users и нажмите Save (рисунок 9).

Рис. 9. Портал управления Microsoft Azure

Откройте проект из предыдущей части и запустите его. Убедитесь, что при запуске приложения выдается ошибка 401 (Unauthorized). Это происходит из-за того, что теперь таблица TodoItem доступна только аутентифицировавшимся пользователям.

Добавьте в файл mainpage.xaml.cs:

private MobileServiceUser user;

private async System.Threading.Tasks.Task Authenticate()

{

    while (user == null)

    {

        string message;

        try

        {

            user = await App.MobileService

                .LoginAsync(MobileServiceAuthenticationProvider.Facebook);

            message = 

                string.Format("You are now logged in - {0}", user.UserId);

        }

        catch (InvalidOperationException)

        {

            message = "You must log in. Login Required";

        }

 

 

    var dialog = new MessageDialog(message);

    dialog.Commands.Add(new UICommand("OK"));

    await dialog.ShowAsync();

}

 

 

}

В этом коде создается переменная для хранения текущего пользователя и метод для обработки процесса аутентификации.

Замените содержимое метода OnNavigatedTo:

protected override async void OnNavigatedTo(NavigationEventArgs e)

{

    await Authenticate();

    RefreshTodoItems();

}

Запустите приложение и аутентифицируйтесь в выбранном провайдере идентификации.

Существует возможность использовать серверные скрипты для авторизации аутентифицировавшихся пользователей и выдачи им прав на доступ к данным в Microsoft Azure Mobile Services.

Регистрация скриптов

Перейдите на портал управления Microsoft Azure и на вкладке MobileServices выберите ваше приложение (рисунок 10) .

Рис. 10. Портал управления Microsoft Azure

На вкладке Data выберите таблицу TodoItem (рисунок 11).

Рис. 11. Портал управления Microsoft Azure

Нажмите Script и выберите Insert (рисунок 12).

Рис. 12. Портал управления Microsoft Azure

Замените код и нажмите Save.

function insert(item, user, request) {

  item.userId = user.userId;    

  request.execute();

}

Скрипт добавляет в сущность значение userId, которая является идентификатором аутентифицировшегося пользователя, перед тем, как она вставляется в таблицу.

Замените код операции Read:

function read(query, user, request) {

   query.where({ userId: user.userId });    

   request.execute();

}

Запуск приложения

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