Android в домене windows

Содержание
  1. Планшет и домен: единство и борьба противоположностей
  2. В чем основная проблема?
  3. В чем основная идея?
  4. Как это выглядит?
  5. Дополнительные соображения безопасности
  6. Подключение Android к локальной сети Windows
  7. Шаг первый: создаем нового пользователя на компьютере
  8. Шаг второй: создаем папку общего доступа на компьютере
  9. Шаг третий: создаем сервер в файловом менеджере
  10. Подключение Android к локальной сети Windows : 104 комментария
  11. Добавить комментарий Отменить ответ
  12. Can Android be joined to a Windows domain?
  13. 11 Replies
  14. Краткое руководство. Вход пользователей и вызов API Microsoft Graph из приложения Android Quickstart: Sign in users and call the Microsoft Graph API from an Android app
  15. Предварительные требования Prerequisites
  16. Шаг 1. Настройка приложения на портале Azure Step 1: Configure your application in the Azure portal
  17. Шаг 2. Скачивание проекта Step 2: Download the project
  18. Шаг 3. Приложение настроено и готово к запуску Step 3: Your app is configured and ready to run
  19. Шаг 1. Получение примера приложения Step 1: Get the sample app
  20. Шаг 2. Запуск примера приложения Step 2: Run the sample app
  21. Как работает этот пример How the sample works
  22. Добавление MSAL в приложение Adding MSAL to the app
  23. Операции импорта MSAL MSAL imports
  24. SingleAccountModeFragment.java SingleAccountModeFragment.java
  25. Инициализация MSAL одной учетной записи Single account MSAL initialization
  26. Вход пользователя Sign in a user
  27. Выход пользователя Sign out a user
  28. Получение токена в интерактивном режиме или автоматически Get a token interactively or silently
  29. Загрузка учетной записи Load an account
  30. Вызов Microsoft Graph Call Microsoft Graph
  31. auth_config_single_account.json auth_config_single_account.json
  32. MultipleAccountModeFragment.java MultipleAccountModeFragment.java
  33. Инициализация MSAL нескольких учетных записей Multiple account MSAL initialization
  34. Загрузка учетной записи Load an account
  35. Получение токена в интерактивном режиме или автоматически Get a token interactively or silently
  36. Удаление учетной записи Remove an account
  37. auth_config_multiple_account.json auth_config_multiple_account.json
  38. Справка и поддержка Help and support
  39. Дальнейшие действия Next steps

Планшет и домен: единство и борьба противоположностей

Давайте представим себе довольно распространенный на сегодняшний день сценарий. В корпоративной сети развернуто некоторое количество бизнес-приложений. Эти приложения опубликованы для доступа снаружи по HTTPS. Мобильные сотрудники компании, находясь за пределами корпоративной сети, хотят подключаться к этим приложениям со своих личных планшетов, работающих под Windows, iOS или Android. Эти устройства либо невозможно включить в домен, либо пользователи просто не будут этого делать. Как повысить безопасность доступа с таких устройств к корпоративным приложениям? Помочь может служба регистрации устройств (Device Registration Service, DRS) в Windows Server 2012 R2.

В этой статье я сосредоточусь на основных принципах и архитектуре DRS. Детали настройки можно посмотреть в четвертом модуле курса «Корпоративные устройства. Как управлять гибридными учетными данными».

В чем основная проблема?

Внутри корпоративной сети есть веб-приложение с доступом по HTTPS, опубликованное для подключения снаружи. С любой платформы из любого браузера подключились, весь трафик между браузером и приложением шифруется, чего еще желать. Но при всех очевидных преимуществах современных мобильных устройств, планшетов в частности, есть и обратная сторона. То, что везде удобно носить с собой, легко может быть потеряно или украдено. Любой новый «владелец» устройства любопытства ради или же по злому умыслу может попытаться «поизучать» URLs в history браузера. И при сохраненных cookies, которые наверняка используются на личных устройствах, получить доступ в том числе к приложениям организации не составит труда.

В доменной сети средствами групповых политик подобных ситуаций легко избежать. Начиная с пароля для логина на доменное устройство, заканчивая сертификатами для аутентификации при доступе к приложению. Как быть с устройствами, которые в домен включить невозможно? Подходы могут быть разными: можно настроить обязательное использование пароля или PIN-кода для входа на устройство, можно сгенерировать и установить сертификат на планшет. Только для разных платформ эти процедуры отличаются, делать это придется вручную и наверняка ИТ-персоналу, и каждое новое устройство порождает соответствующую цепочку действий. А хочется, чтобы с такой задачей мог справиться владелец устройства, причем тогда, когда в этом действительно возникнет необходимость.

Одно из решений – использование DRS из состава Windows Server 2012 R2.

В чем основная идея?

Как следует из названия службы, DRS реализует процедуру регистрации устройства. В процессе регистрации DRS генерирует X.509-сертификат, который загружается на устройство, а также создает в Active Directory новый объект, содержащий информацию как об устройстве, так и пользователе, выполнившем регистрацию.

Каждый раз, когда пользователь подключается с зарегистрированного устройства к приложению, выполняется аутентификация пользователя (либо он вводит пароль, либо используется cookie) и осуществляется проверка сертификата. И только если обе проверки успешно пройдены, пользователь получает доступ к приложению. По сути мы имеем дело с двухфакторной аутентификацией.

Как это выглядит?

В Windows Server 2012 R2 служба DRS устанавливается вместе с ADFS. ADFS, как видно из рисунков выше, играет ключевую роль в процессе аутентификации. Чтобы воспользоваться сервисом регистрации для приложения необходимо настроить аутентификацию через ADFS. Поскольку по соображениям безопасности сервер с ADFS как правило располагают внутри корпоративной сети, в зоне периметра нужна проксирующая компонента, которая будет принимать запросы из Интернет и перенаправлять их ADFS. Роль прокси может выполнять Web Application Proxy (WAP) – новая служба Windows Server 2012 R2. ADFS, в свою очередь, выполняет аутентификацию пользователя и, если настроена регистрация устройств, проверку сертификата. В случае успешной аутентификации ADFS формирует маркер (token) доступа для запрашиваемого приложения и возвращает маркер браузеру на пользовательском устройстве. После чего пользователь получает доступ к приложению.

Если говорить о требованиях к инфраструктуре, то для использования DRS необходимо расширить схему AD и иметь как минимум один сервер с Windows Server 2012 R2 и поднятой ролью ADFS.

Процесс регистрации устройства изображен на следующем рисунке.

Давайте посмотрим, как выглядит этот процесс с точки зрения владельца планшета с Windows 8.1, и что при этом происходит за кадром. В роли корпоративного приложения будет выступать SharePoint 2013. В моей инфраструктуре ADFS настроена таким образом, что регистрация устройств требуется, только если устройство находится за пределами корпоративной сети. Если же планшет подключен, например, к корпоративному Wi-Fi, то достаточно аутентификации по логину и паролю пользователя. И, конечно же, от пользователя вообще ничего не требуется, если он обращается к приложению с доменного компьютера в корпоративной сети. Имеет место полноценный Single Sign-On. Возможность настройки подобных условий доступа (conditional access), причем для конкретного приложения – еще одно серьезное преимущество использования ADFS для рассматриваемого сценария. Как задаются политики conditional access, можно посмотреть в упомянутом четвертом модуле курса «Корпоративные устройства. Как управлять гибридными учетными данными».

Итак, сотрудник компании находится за пределами компании и в браузере планшета, не включенного в домен, набирает URL корпоративного портала SharePoint. Запрос через WAP перенаправляется ADFS, и мы видим такую картину.

Как видно, элементы страницы аутентификации ADFS, равно как и страниц сообщений об ошибках (картинка, логотип, тексты сообщений), настраиваются. Пользователь указывает логин и пароль своей доменной учетной записи, причем логин вводится в формате User Principal Name (UPN). Так как устройство пока не зарегистрировано, в доступе отказано.

В тексте сообщения об ошибке я указал действия, которые необходимо совершить пользователю для регистрации планшета. Эти действия отличаются для разных платформ. Так для iOS надо просто пройти по URL: https:// /enrollmentserver/otaprofile. Для Windows 8.1 регистрация предусмотрена в интерфейсе ОС: PC Settings->Network->Workplace. И называется Workplace join.

Нажав на кнопку Join, увидим уже знакомое окно аутентификации ADFS.

Каким образом Windows 8.1 обнаруживает ADFS? Из введенного пользователем UPN берется суффикс, в данном случае, contosomsspb.com, к нему пристыковывает предопределенное имя, enterpriseregistration и получается FQDN, enterpriseregistration.contosomsspb.com, которое ОС пытается разрешить в IP. Соответственною, чтобы такой механизм обнаружения DRS работал, необходимо зарегистрировать в публичном DNS-домене организации A record с именем enterpriseregistration и IP-адресом пороксирующей компоненты, например, сервера WAP.

Если пароль введен верно, то выполняется регистрация устройства, и мы возвращаемся в предыдущее окно, где можно заметить, что операция Workplace join завершена.

Что же происходит за кадром? На самом планшете с помощью оснастки Certificates можно обнаружить появление нового сертификата.

Именно он и будет теперь использоваться в качестве второго фактора аутентификации при подключении к приложению.

В Active Directory соответствующий сертификату объект можно найти в новом контейнере RegisteredDevices. Имя объекта совпадает с CN сертификата. Атрибуты этого объекта можно посмотреть, например, с помощью ADSI Edit.

Среди атрибутов мы найдем имя устройства, тип и версию ОС, SID пользователя, выполнившего регистрацию, дату и время регистрации и др.

Читайте также:  Windows defender что делать с вирусом

Пробуем снова подключиться к порталу, снова попадаем на страницу ADFS, снова вводим credentials учетной записи AD. Но теперь помимо проверки пароля успешно завершается и проверка сертификата, и доступ к приложению получен.

Более того, после первого успешного подключения пользователь получает SSO для этого приложения. Он может закрыть браузер, перезагрузить машину, открыть браузер снова, набрать URL и… получить доступ к приложению безо всяких дополнительных вопросов. Действительно, cookies обеспечивают первый фактор аутентификации, сертификат – второй. Естественно, не навечно, и периодически пользователю придется подтверждать свою аутентичность вводом пароля. Но это срок контролирует ИТ.

Дополнительные соображения безопасности

Давайте вернемся к ситуации с утерей/кражей планшета. Если устройство уже зарегистрировано, для приложения реализован SSO, и устройство попало в чужие руки. Первая линия защиты – пароль или PIN-код для входа в устройство. Для недоменных устройств обязательную блокировку можно включить, например, через Microsoft Intune или другое MDM-решение. Если этого не было сделано? Получается, мы дали злоумышленнику дополнительные козыри – ему остается просто открыть браузер и набрать URL. Очевидно, в такой ситуации владелец должен как можно быстрее оповестить свою службу ИТ. Что тогда предпримет ИТ? Посмотрим на несколько вариантов.

Если сервис регистрации устройств вообще не используется.

Если устройство было зарегистрировано.

Администратору достаточно найти в AD объект, ассоциированный с утерянным устройством и либо удалить объект, либо в его свойствах для атрибута msDS-IsEnabled задать значение FALSE.

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

Ну а если пароль пользователя скомпрометирован и стал известен злоумышленнику? Ничто не помешает ему выполнить повторную регистрацию. Один из вариантов противодействия такому сценарию – использование сервиса многофакторной аутентификации (MFA) Microsoft Azure для регистрации устройства. В этом случае при регистрации устройства пользователю кроме ввода пароля необходимо будет пройти дополнительную проверку – ответить на входящий звонок на его мобильный телефон, либо ввести полученный по SMS код, либо использовать специальное приложение (Multi-Fator Auth), которое опять же есть в online store Microsoft, Google и Apple.

Но это уже тема отдельного разговора.

Итак, сервис регистрации устройств, появившийся в Windows Server 2012 R2, поможет обеспечить дополнительный уровень безопасности при удаленном подключении к корпоративным приложениям с личных мобильных устройств, не включенных в домен AD и работающих под управлением различных ОС.

Источник

Подключение Android к локальной сети Windows

Расширяем возможности обмена данными между домашним компьютером и устройством на Андроид платформе с помощью файлового менеджера. Подготавливая материал «Файловый менеджер для Android» наткнулся на прикольную функцию подключения Android к локальной сети Windows. Итак, разберем на примере, как это сделать.

Дано: Wi-Fi точка доступа, компьютер с операционной системой Windows (в моем случае это Windows 7), Андроид гаджет с установленным файловым менеджером, у которого есть функция SAMBA сервера (у меня стоит ES File Explorer).

Шаг первый: создаем нового пользователя на компьютере

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

Чтобы создать нового пользователя заходим: Пуск – панель управления – добавление и удаление учетных записей.

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

Шаг второй: создаем папку общего доступа на компьютере

Не обязательно папку, можно подключить целый раздел, например диск C. Кликаем правой кнопкой мыши по документу или папке, к которой мы хотим открыть доступ, заходим во вкладку «Доступ» и нажимаем «Общий доступ». В выпадающем меню выбираем имя пользователя, которого создали в предыдущем шаге, и не забудьте установить уровень разрешений на чтение и запись.

Общий раздел, к которому мы будем подключаться из Андроид системы создан.

Шаг третий: создаем сервер в файловом менеджере

Запускаем ES File Explorer, заходим во вкладку LAN. Нажимаем аппаратную клавишу «Mеню», далее «Создать» в диалоговом окне нажимаем «Сервер».

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

Теперь обо всех по порядку:

Домен: оставляем пустым

Адрес: сюда вбиваем IP нашего компьютера (этот параметр можно узнать написав в консоль Windows команду ipconfig, как попасть в консоль видно на скриншотах ниже)

Логин: имя учетной записи из первого шага

Пароль: пароль учетной записи из первого шага

Имя: оставляем пустым, или придумываем любое название для нашего сервера

После того как ввели все данные, нажимаем «ОК». Поздраляю! Сервер создан, теперь можем зайти на компьютер прямо с нашего телефона (ну или планшета).

Вот так просто настраивается сеть между Windows и Android 🙂 Если возникли вопросы, спрашивайте в комментариях, обязательно отвечу.

UPD: не всегда нужно именно пользоваться сетью для обмена данными, зачастую необходимо воспроизвести какие-либо меди файлы с компьютера, с этой целью отлично подойдет DLNA медиа сервер.

Подключение Android к локальной сети Windows : 104 комментария

Спасибо огромное, 3 минут внимательного прочтения и 5 минуты работы с ноутом и связь установлена без проблем! Автору респект.

Андроид 4.0.4 подключён к локальной сети по Wi-Fi. IP-адрес для него выделяется роутером через DHCP. В андроиде установлен свежий ES File Explorer. C компьютера (который сервер) пингуется (на компе стоит WinXP с расшареной папкой и заведённой на него учетной записью с паролем. Антивирус на время опытов с подключением был отключен).
В ES File Explorer после сканирования сети комп как сервер виден. Но при попытке подключиться к компу через ES File Explorer выдаёт ошибку «Сервер не найден». Ввожу пользователя и пароль как было рекомендовано выше, но результат всегда отрицательный. Если знаете в чём дело — помогите пожалуйста.
Да, если в ES File Explorer открываю удалённый доступ к устройству по сети Wi-Fi — с компа видится прекрасно.

Не нужно создавать каких-либо учеток в системе. Достаточно просто открыть доступ на компе к нужным папкам и естессно запаролировать WiFi-точку (желательно у роутера тоже сменить логин и пароль, который у всех по умолчанию «admin». ибо влезть в его веб-интерфейс ни для кого не проблема- адрес то один и тот же с не значительными вариантами). В ES проводнике создаете сервак во вкладке LAN или ЛВС прописываете IP-адрес своего компа, ставите галку «аноним» и жмете ОК. Вот и все.

Чуть не забыл: в XP все просто- только открыл доступ к диску или файлу и готово. А вот в Win7 надо еще отключить «Общий доступ с парольной защитой» в доп.параметрах общего доступа!

Спасибо! Аффтар маладэс))) Всё работает как часы! Именно так, как мне нужно было! Ещё раз огромное спасибо!

Та же фигня — файл-менеджер андроида качает с ПК гораздо медленнее, чем из интернета, на старте 1.5 мб/сек, потом падение до 500 кб/сек. Менял ES на Total Commander — ничего не изменилось

Настроил доступ к SD карте на Андроид-телефоне по FTP и HTTP, работает отлично. Через Samba Server доступ к смарту никак не получается сделать :(. На Андроиде использую Samba Server версия 2.2, при сканировании сети в ЕС проводнике находит IP телефона и компа.
А как с компа (Win 7) найти «поднятый» SMB сервер на Андроиде и подключиться к нему?
Благодарю за толковый совет 🙂

Рутировал телефон, установил Samba Filesharing for Android и решил поставленную задачу. А с Samba Server версия 2.2 так и не получилось 🙁
Удачи.

Слишком медленное копирование с андройда на ПК по lan- 600 кб/с, хотя торрент на андройде с интернета при этом может качать на скорости 5мб/с

Добавить комментарий Отменить ответ

Для отправки комментария вам необходимо авторизоваться.

Источник

Can Android be joined to a Windows domain?

Management wants to use Android devices in the shop to access documents on our Windows 2012 file server. When I chased this a few years ago, I was not able to join the Android tablet to my domain.

Has this changed? Is it now possible to join an Android device to an active directory domain? I’ve got a number of alternatives ready to go if it can’t but I thought it would be prudent to check with the knowledgeable folks here before just assuming that Android still doesn’t play well with the kids in the Windows sandbox.

Читайте также:  Windows defender offline что это значит

11 Replies

Personally I was under the impression that this is impossible, heck even windows RT is a challenge! Though I would be very intrigued if it is!

As far as I know you can use UnboundID if you want to build your own app with LDAP authentication, but it’s not supported natively in Android. From the sounds of it you may be better off to just set up a Document Management System (Alfresco community edition is what I have used) and have users log in the the web interface with their AD credentials.

You might be better served by using an MDM solution, like the one from Fiberlink or Good

Maybe time to set up a Sharepoint site?

A CMS (Content Management System) like Alfresco and Sharepoint (as already mentioned) or heck even a wordpress site with an ldap plugin will fit the bill. Good Luck, Jim.

Thanks folks. I have ways of making these things work in our environment. I was just fact-checking the statement «you can’t join an Android device to your Windows domain.» I took a pretty firm position on this yesterday with management and then realized that I was basing it on a three year old experience.

It would appear that I was right.

Thanks to everyone for their comments and suggestions. I really appreciate it.

If you are just looking to be able to access network files, use ES File Explorer. You don’t need to join to the domain, but it will allow you to explore network shares with proper authentication. This of course opens you to all the security issues with allowing new devices on your network though.

Brand Representative for SDM Software, Inc.

Joining a machine to the domain in the strict sense, requires that machine to be able to be a Kerberos client. I don’t know what the status of Kerb support in Android is, but perhaps it doesn’t matter. Depending upon your goals, you might want to look into Android’s support of «Workplace Join». This does require ADFS but allows for SSO to web-based apps that are in the domain, just as if you were domain-joined. It may not get you all the way there, but there are ways of participating in the benefits of AD without necessarily joining a machine to AD.

Samsung Knox Security suite looks to support the Workplace Join.

There seem to be some other movement in the Android space for this support.

Not sure what this item is, as I just saw it, in my own research for this kind of support:

I used to think that the ability to join Android to a Windows domain was important to me so that I could access company files on my phone without the need to install VPN clients and RDP apps that would connect through our firewall to a Windows machine on the inside.. Lately, I have been thinking that Android devices could just as easily access company files if Samsung Link is installed on each Android phone and the file server. A Samsung Link Account would need to be created and each Android phone would need to sign in to Samsung Link to acess the files. The directory that the files are stored in on the server would need to be shared in Samsung Link.

Files, videos, images and documents can be viewed on Android phones through Samsung Link using standard PDF, Microsoft Office and Imaging apps.

Anyone else have thoughts on using Samsung Link?

Источник

Краткое руководство. Вход пользователей и вызов API Microsoft Graph из приложения Android Quickstart: Sign in users and call the Microsoft Graph API from an Android app

Из этого краткого руководства вы узнаете, как скачать и выполнить пример кода. В примере кода показано, как в приложении Android реализовать вход пользователей и получение маркера доступа для вызова API Microsoft Graph. In this quickstart, you download and run a code sample that demonstrates how an Android application can sign in users and get an access token to call the Microsoft Graph API.

Иллюстрацию см. в разделе Как работает этот пример. See How the sample works for an illustration.

Чтобы приложение получало маркеры от платформы удостоверений Майкрософт, оно должно быть представлено объектом приложения в Azure Active Directory. Applications must be represented by an app object in Azure Active Directory so that the Microsoft identity platform can provide tokens to your application.

Предварительные требования Prerequisites

Шаг 1. Настройка приложения на портале Azure Step 1: Configure your application in the Azure portal

Для работы примера кода в этом кратком руководстве необходимо добавить URI перенаправления, совместимый с брокером авторизации. For the code sample in this quickstart to work, add a Redirect URI compatible with the Auth broker.

. Ваше приложение настроено с помощью этих атрибутов Your application is configured with these attributes

Шаг 2. Скачивание проекта Step 2: Download the project

Выполните проект с помощью Android Studio. Run the project using Android Studio.

Шаг 3. Приложение настроено и готово к запуску Step 3: Your app is configured and ready to run

Мы уже настроили для проекта нужные значения свойств приложения, и его можно запускать. We have configured your project with values of your app’s properties and it’s ready to run. Пример приложения запускается на экране Single Account Mode (Режим единой учетной записи). The sample app starts on the Single Account Mode screen. Область по умолчанию, user.read, предоставляется по умолчанию и используется при чтении данных собственного профиля во время вызова API Microsoft Graph. A default scope, user.read, is provided by default, which is used when reading your own profile data during the Microsoft Graph API call. URL-адрес для вызова Microsoft Graph API предоставляется по умолчанию. The URL for the Microsoft Graph API call is provided by default. При необходимости их можно изменить. You can change both of these if you wish.

Используйте меню приложения для переключения между режимами одной и нескольких учетных записей. Use the app menu to change between single and multiple account modes.

В режиме одной учетной записи войдите с помощью рабочей или домашней учетной записи: In single account mode, sign in using a work or home account:

В режиме нескольких учетных записей можно повторить те же действия. In multiple account mode, you can repeat the same steps. Кроме того, можно удалить учетную запись для входа. При этом кэшированные токены для этой учетной записи также удаляются. Additionally, you can remove the signed-in account, which also removes the cached tokens for that account.

Шаг 1. Получение примера приложения Step 1: Get the sample app

Шаг 2. Запуск примера приложения Step 2: Run the sample app

Выберите эмулятор или физическое устройство из раскрывающегося списка доступных устройств Android Studio и запустите приложение. Select your emulator, or physical device, from Android Studio’s available devices dropdown and run the app.

Пример приложения запускается на экране Single Account Mode (Режим единой учетной записи). The sample app starts on the Single Account Mode screen. Область по умолчанию, user.read, предоставляется по умолчанию и используется при чтении данных собственного профиля во время вызова API Microsoft Graph. A default scope, user.read, is provided by default, which is used when reading your own profile data during the Microsoft Graph API call. URL-адрес для вызова Microsoft Graph API предоставляется по умолчанию. The URL for the Microsoft Graph API call is provided by default. При необходимости их можно изменить. You can change both of these if you wish.

Используйте меню приложения для переключения между режимами одной и нескольких учетных записей. Use the app menu to change between single and multiple account modes.

В режиме одной учетной записи войдите с помощью рабочей или домашней учетной записи: In single account mode, sign in using a work or home account:

В режиме нескольких учетных записей можно повторить те же действия. In multiple account mode, you can repeat the same steps. Кроме того, можно удалить учетную запись для входа. При этом кэшированные токены для этой учетной записи также удаляются. Additionally, you can remove the signed-in account, which also removes the cached tokens for that account.

Читайте также:  Intel graphics installer windows

Как работает этот пример How the sample works

Код разделен на фрагменты, демонстрирующие, как записывать приложение MSAL для одной и нескольких учетных записей. The code is organized into fragments that show how to write a single and multiple accounts MSAL app. Файлы кода организованы следующим образом: The code files are organized as follows:

Файл File Что демонстрирует Demonstrates
MainActivity MainActivity Управляет пользовательским интерфейсом Manages the UI
MSGraphRequestWrapper MSGraphRequestWrapper Вызывает API Microsoft Graph, используя токен, предоставленный MSAL Calls the Microsoft Graph API using the token provided by MSAL
MultipleAccountModeFragment MultipleAccountModeFragment Инициализирует приложение с несколькими учетными записями, загружает учетную запись пользователя и получает токен для вызова API Microsoft Graph Initializes a multi-account application, loads a user account, and gets a token to call the Microsoft Graph API
SingleAccountModeFragment SingleAccountModeFragment Инициализирует приложение с одной учетной записью, загружает учетную запись пользователя и получает токен для вызова API Microsoft Graph Initializes a single-account application, loads a user account, and gets a token to call the Microsoft Graph API
res/auth_config_multiple_account.json res/auth_config_multiple_account.json Файл конфигурации нескольких учетных записей The multiple account configuration file
res/auth_config_single_account.json res/auth_config_single_account.json Файл конфигурации одной учетной записи The single account configuration file
Скрипты Gradle/build.grade (модуль: app) Gradle Scripts/build.grade (Module:app) Здесь добавляются зависимости библиотеки MSAL The MSAL library dependencies are added here

Теперь мы рассмотрим эти файлы подробнее и вызовем код, относящийся к MSAL, в каждом из них We’ll now look at these files in more detail and call out the MSAL-specific code in each.

Добавление MSAL в приложение Adding MSAL to the app

MSAL (com.microsoft.identity.client) — это библиотека, используемая для выполнения входа пользователей и запросов маркеров, которые нужны для доступа к API, защищенному платформой удостоверений Майкрософт. MSAL (com.microsoft.identity.client) is the library used to sign in users and request tokens used to access an API protected by Microsoft identity platform. Gradle 3.0+ устанавливает библиотеку при добавлении в файл Скрипты Gradle > build.gradle (модуль: app) в разделе Зависимости следующего фрагмента кода: Gradle 3.0+ installs the library when you add the following to Gradle Scripts > build.gradle (Module: app) under Dependencies:

Следующий фрагмент кода можно увидеть в примере проекта в build.gradle (модуль: app): You can see this in the sample project in build.gradle (Module: app):

Он указывает Gradle загрузить и создать MSAL из Maven Central. This instructs Gradle to download and build MSAL from maven central.

Операции импорта MSAL MSAL imports

SingleAccountModeFragment.java SingleAccountModeFragment.java

В этом файле показано, как создать приложение MSAL для одной учетной записи и вызвать API Microsoft Graph. This file demonstrates how to create a single account MSAL app and call a Microsoft Graph API.

Приложения с одной учетной записью используются только одним пользователем. Single account apps are only used by a single user. Например, у вас может быть только одна учетная запись для входа в приложение сопоставления. For example, you might just have one account that you sign into your mapping app with.

Инициализация MSAL одной учетной записи Single account MSAL initialization

Вход пользователя Sign in a user

Вход пользователя является асинхронной операцией. Signing in a user is an asynchronous operation. Передается метод для обратного вызова, который вызывает API Microsoft Graph и обновляет пользовательский интерфейс после входа пользователя: A callback is passed that calls the Microsoft Graph API and update the UI once the user signs in:

Выход пользователя Sign out a user

Получение токена в интерактивном режиме или автоматически Get a token interactively or silently

Ниже представлены некоторые ситуации, когда пользователю может быть предложено выбрать учетную запись, ввести учетные данные или дать согласие на разрешения, запрошенные вашим приложением: Some situations when the user may be prompted to select their account, enter their credentials, or consent to the permissions your app has requested are:

Загрузка учетной записи Load an account

Вызов Microsoft Graph Call Microsoft Graph

auth_config_single_account.json auth_config_single_account.json

Это файл конфигурации для приложения MSAL, использующего одну учетную запись. This is the configuration file for a MSAL app that uses a single account.

Описание этих полей см. в разделе Android Microsoft Authentication Library (MSAL) configuration file (Файл конфигурации библиотеки аутентификации Microsoft для Android (MSAL)). See Understand the Android MSAL configuration file for an explanation of these fields.

Параметр «client_id» предварительно настроен для использования регистрации объекта приложения, которую обслуживает корпорация Майкрософт. «client_id» is preconfigured to use an app object registration that Microsoft maintains. Параметр «redirect_uri» предварительно настроен для использования ключа подписывания, предоставленного в примере кода. «redirect_uri» is preconfigured to use the signing key provided with the code sample.

MultipleAccountModeFragment.java MultipleAccountModeFragment.java

В этом файле показано, как создать приложение MSAL с несколькими учетными записями и вызвать API Microsoft Graph. This file demonstrates how to create a multiple account MSAL app and call a Microsoft Graph API.

Примером приложения с несколькими учетными записями является почтовое приложение, которое позволяет работать с несколькими учетными записями пользователей, такими как рабочая и личная учетная запись. An example of a multiple account app is a mail app that allows you to work with multiple user accounts such as a work account and a personal account.

Инициализация MSAL нескольких учетных записей Multiple account MSAL initialization

Созданный объект MultipleAccountPublicClientApplication хранится в переменной члена класса, чтобы его можно было использовать для взаимодействия с библиотекой MSAL для получения токенов, загрузки и удаления учетной записи пользователя. The created MultipleAccountPublicClientApplication object is stored in a class member variable so that it can be used to interact with the MSAL library to acquire tokens and load and remove the user account.

Загрузка учетной записи Load an account

Получение токена в интерактивном режиме или автоматически Get a token interactively or silently

Ниже представлены некоторые ситуации, когда пользователю может быть предложено выбрать учетную запись, ввести учетные данные или дать согласие на разрешения, запрошенные вашим приложением: Some situations when the user may be prompted to select their account, enter their credentials, or consent to the permissions your app has requested are:

Приложения не требуют, чтобы пользователи выполняли вход каждый раз при запросе токена. Apps shouldn’t require the user to sign in every time they request a token. Если пользователь уже выполнил вход, acquireTokenSilentAsync() позволяет приложениям запрашивать токены без запроса к пользователю, как показано в файле MultipleAccountModeFragment.java в initializeUI() в обработчике щелчков callGraphApiSilentButton : If the user has already signed in, acquireTokenSilentAsync() allows apps to request tokens without prompting the user, as shown in the MultipleAccountModeFragment.java file, in initializeUI() in the callGraphApiSilentButton click handler:

Удаление учетной записи Remove an account

auth_config_multiple_account.json auth_config_multiple_account.json

Это файл конфигурации для приложения MSAL, которое использует несколько учетных записей. This is the configuration file for a MSAL app that uses multiple accounts.

Описание разных полей см. в статье Android Microsoft Authentication Library (MSAL) configuration file (Файл конфигурации библиотеки аутентификации Microsoft для Android (MSAL)). See Understand the Android MSAL configuration file for an explanation of the various fields.

Параметр «client_id» предварительно настроен для использования регистрации объекта приложения, которую обслуживает корпорация Майкрософт. «client_id» is preconfigured to use an app object registration that Microsoft maintains. Параметр «redirect_uri» предварительно настроен для использования ключа подписывания, предоставленного в примере кода. «redirect_uri» is preconfigured to use the signing key provided with the code sample.

Справка и поддержка Help and support

Если вам нужна помощь, если вы хотите сообщить о проблеме или узнать о доступных вариантах поддержки, воспользуйтесь статьей Возможности получения поддержки и справки для разработчиков. If you need help, want to report an issue, or want to learn about your support options, see Help and support for developers.

Дальнейшие действия Next steps

Перейдите к учебнику по Android, с помощью которого вы создадите приложение Android, получающее маркер доступа от платформы удостоверений Майкрософт и использующее его для вызова API Microsoft Graph. Move on to the Android tutorial in which you build an Android app that gets an access token from the Microsoft identity platform and uses it to call the Microsoft Graph API.

Источник

Поделиться с друзьями
Советы экспертов и специалистов
Adblock
detector