В помощь мобильному разработчику

Разработка корпоративных приложений упрощается с новыми библиотеками New Authentication и Microsoft Graph

Александр Алексеев

Многие корпоративные организации делают шаг навстречу облачным технологиям и разрабатывают мобильные приложения для внутреннего использования. Сегодня появляется все больше предприятий, где действует целый ряд внутренних приложений, помогающих повысить производительность работников, вести отчетность по расходам и учёт рабочего времени, отпусков и отгулов, и, кроме того, даже контролировать совместное использование автомобилей. Вместо того чтобы создавать новую инфраструктуру для этих приложений, организации могут воспользоваться преимуществами Active Directory (AD) и использовать существующие интерфейсы API, которые позволяют управлять такими данными, как контакты, электронная почта, календарь, деревья организационных структур и многое другое. Благодаря новым и усовершенствованным библиотекам проверки подлинности пользователей, а также за счет использования Microsoft Graph создавать такие приложения теперь стало намного проще.

В этой статье мы создадим примерное приложение для управления отпуском (время пребывания на больничном, отпуск по уходу за ребёнком и т. д.), и мы сделаем это с помощью библиотеки проверки подлинности Microsoft (MSAL) и API Microsoft Graph.

 

Шаг 1: Регистрация приложения

Можно зарегистрировать приложение, посетив сайт https://apps.dev.microsoft.com и нажав кнопку «добавить приложение» — Add an app. После ввода сведений о приложении убедитесь, что создан код приложения — Application Id. В разделе «Добавление платформы» — Add Platforms можно зарегистрировать приложение на нескольких платформах. Это удобнее, когда используется одинаковый идентификатор для различных реализаций одного и того же приложения как в мобильной версии, так и веб.

Щелкните на кнопку Native Application. Это позволит мобильным приложениям получить доступ к AD организации и API-интерфейсу Graph.

После добавления поддерживаемых платформ мы можем добавить разрешения на том же экране. В этом случае я дал следующие разрешения: «User.Read», «User.ReadBasic.All» и «Mail.Send». Они необходимы для получения сведений о пользователе и отправки электронной почты его руководителю, чтобы дать ему знать, что пользователь не явится на работу в этот день.

Сохраните изменения, и Ваше приложение теперь зарегистрировано с помощью организационной Active Directory!

 

Шаг 2: Создание мобильных приложений

Создайте пустое приложение Xamarin.Forms с помощью Portable Class Library (PCL) для совместного использования кода на различных платформах. В случае с этой библиотекой убедитесь, что для профиля задано значение Profile7. Добавьте во все проекты пакеты NuGet Microsoft.Client.Identity и Microsoft.Graph. Если Вы не видите их в диспетчере пакетов NuGet, установите флажок на «Показывать предварительные релизы» — Include Prerelease.

Теперь в первую очередь необходимо проверить подлинность пользователя. Это делается с помощью класса PublicClientApplication библиотеки проверки подлинности Microsoft (MSAL). Внутри App.xaml.cs добавьте следующий код:

Далее, необходимо создать страницу авторизации. Создайте GraphServiceClient в MainPage.xaml.cs, который будет отвечать за вызов всех будущих API-интерфейсов Graph. Пример реализации можно увидеть в приведенном ниже коде.

 

Теперь, когда мы инициализировали наш GraphServiceClient, мы можем использовать Graph API для отправки электронной почты:

 

Шаг 3: Изменения, зависящие от платформы

Функции входа с MSAL ранее были реализованы в Xamarin.Forms с помощью пользовательских средств визуализации — custom renderers. Благодаря этой новой, находящейся в состоянии эксплуатационной готовности предварительной версии MSAL данная функциональность для упрощения реализуется с помощью схемы URL. При этом автоматически инициируется поток проверки подлинности и завершается поток входа.

iOS

В Visual Studio 2017 Preview 3 мы добавили редактор пользовательского интерфейса для  Info.plist, где можно зарегистрировать кастомную схему URL:

Завершенный процесс проверки подлинности может обрабатываться в AppDelegate:

 

Android

Откройте AndroidManifest.xml и добавьте BrowserTabActivity с intent-filter для регистрации схемы URL:

 

Завершенный процесс проверки подлинности может обрабатываться в MainActivity приложения:

 

Windows

Библиотека проверки подлинности Microsoft не требует внесения каких-либо изменений для обработки процесса входа в приложения универсальной платформы Windows (UWP).

 

Шаг 4: Запуск приложения

Когда все будет готово, запустите приложение, чтобы самостоятельно оценить наше приложение «графика отпусков» для iOS, Android и Windows, созданное с помощью Xamarin.Forms, библиотеки проверки подлинности Microsoft и API-интерфейсов Microsoft Graph.

 

Заключение

Библиотека проверки подлинности Майкрософт — Microsoft Authentication Library (MSAL) упрощает интеграцию приложений с существующими Active Directory (AD) и добавляет механизм аутентификации, величиной во всего лишь несколько строк кода. Интерфейс Microsoft Graph API предоставляет доступ к различным службам, доступным для наших пользователей, таким как почта, календарь, люди и SharePoint из одного API-интерфейса. Чтобы самостоятельно оценить это мобильное приложение можете скачать пример на GitHub.

 

АвторMayur Tendulkar
ИсточникОфициальный блог Xamarin

Александр Алексеев
Александр Алексеев

Xamarin - разработчик. Работаю с .NET платформой с 2012 года, программирую в основном с использованием C#. За это время успел поработать с ASP.NET, Entity Framework, MSSQL, Git

.NET Standard 2
xamarin forms

Написать ответ