Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Microsoft Authentication Library (MSAL) для iOS и macOS — это пакет SDK проверки подлинности, который можно использовать для эффективной интеграции проверки подлинности в приложения с помощью стандартной версии OAuth2 и OpenID Connect. Он позволяет выполнять вход пользователей или приложений с помощью идентификаций Майкрософт. Эти идентификаторы включают рабочие и учебные учетные записи Microsoft Entra ID, личные учетные записи Microsoft, учетные записи социальных сетей и учетные записи клиентов.
С помощью MSAL для iOS и macOS можно получить маркеры безопасности из платформа удостоверений Майкрософт для проверки подлинности пользователей и доступа к безопасным веб-API для своих приложений. Библиотека поддерживает несколько сценариев проверки подлинности, таких как единый вход, условный доступ и проверка подлинности с брокером.
Поддержка встроенной аутентификации в MSAL
MSAL iOS предоставляет собственные API проверки подлинности, которые позволяют приложениям реализовать собственный интерфейс с комплексными настраиваемыми потоками в своих мобильных приложениях. Благодаря встроенной аутентификации пользователи проходят удобный встроенный сценарий регистрации и входа, ориентированный прежде всего на мобильные устройства, не выходя из приложения. Функция собственной проверки подлинности доступна только для мобильных приложений на внешнем идентификаторе для клиентов. macOS не поддерживается. Рекомендуется всегда использовать самую up-to-date версии пакета SDK.
Начало работы с MSAL для iOS и macOS: концептуальная документация
Документация MSAL охватывает типовые сценарии, обработку ошибок и рекомендации по отладке, дополнительные возможности библиотеки (например, журналирование и телеметрию), а также известные ошибки и распространенные проблемы с описанными способами их устранения. Если вам нужна дополнительная помощь, чтобы начать работу с Microsoft Entra ID и учетными записями Microsoft, ознакомьтесь с документацией по платформе Microsoft Identity. Если вам нужна дополнительная информация об API Microsoft Graph, ознакомьтесь с документацией по Microsoft Graph. Чтобы эффективно использовать MSAL iOS и macOS для защиты своих приложений, важно ознакомиться со следующими понятиями:
- Сведения о различиях между MSAL для iOS и macOS
- Регистрация приложения с помощью Microsoft Entra
- Установка MSAL для iOS и macOS и настройка проекта для использования библиотеки
- Получение токенов для доступа к защищенному API
Чтобы использовать MSAL iOS и macOS в приложении, необходимо зарегистрировать приложение в центре администрирования Microsoft Entra и настроить проект. Поскольку SDK поддерживает как сценарии аутентификации, делегированные браузеру, так и собственные сценарии аутентификации, выполните действия, описанные в одном из этих кратких руководств, в зависимости от вашего сценария.
Сведения о сценариях аутентификации с делегированием браузеру см. в кратком руководстве Вход пользователей и вызов Microsoft Graph из приложения iOS или macOS.
Для сценариев встроенной аутентификации в приложениях iOS см. руководство по примеру Внешняя идентификация Microsoft Entra Запуск примера приложения iOS.
Поддерживаемые версии
iOS — MSAL поддерживает iOS 14 и более поздних версий.
macOS — MSAL поддерживает macOS (OSX) 10.13 и более поздних версий.
Основные различия между Microsoft Authentication Library for iOS и macOS
В этом разделе описываются различия в функциональных возможностях между Microsoft Authentication Library (MSAL) для iOS и macOS.
Note
В Mac MSAL поддерживает только приложения macOS.
Общие различия
MSAL для macOS — это подмножество функций, доступных для iOS.
MSAL для macOS не поддерживает:
- различные типы браузеров, например
ASWebAuthenticationSession,SFAuthenticationSessionSFSafariViewController. - Посредническая аутентификация через приложение Microsoft Authenticator не поддерживается в macOS.
Общий доступ к цепочке ключей между приложениями из одного издателя более ограничен в macOS 10.14 и более ранних версиях. Используйте списки управления доступом , чтобы указать пути к приложениям, которые должны совместно использовать цепочку ключей. Пользователь может увидеть дополнительные запросы доступа к связке ключей.
В macOS 10.15+ поведение MSAL совпадает с поведением между iOS и macOS. MSAL использует группы доступа к цепочке ключей для общего доступа к цепочке ключей.
Аутентификация условного доступа
В сценариях условного доступа при использовании MSAL для iOS будет меньше запросов к пользователю. Это связано с тем, что в iOS используется приложение-посредник (Microsoft Authenticator), которое в некоторых случаях устраняет необходимость запрашивать данные у пользователя.
Настройка проекта
macOS
- При настройке проекта в macOS убедитесь, что ваше приложение подписано действительным сертификатом разработки или рабочей среды. MSAL по-прежнему работает в неподписанном режиме, но с точки зрения сохранения кэша будет работать иначе. Приложение следует запускать без подписи только в целях отладки. Если вы распространяете приложение без подписи, оно будет:
- В версии 10.14 и более ранних версиях MSAL будет запрашивать у пользователя пароль цепочки ключей при каждом перезапуске приложения.
- В macOS 10.15 и новее MSAL будет запрашивать у пользователя учетные данные при каждом получении токена.
- Приложения macOS не должны реализовывать вызов AppDelegate.
iOS
- Чтобы настроить проект для поддержки потока аутентификации через брокер, необходимо выполнить дополнительные действия. Эти шаги указаны в руководстве.
- Проекты iOS должны регистрировать пользовательские схемы в info.plist. Это не обязательно для macOS.
Миграция с библиотеки аутентификации Azure Active Directory (ADAL)
Библиотека аутентификации Azure Active Directory (ADAL) для Objective-C была объявлена устаревшей с 30 июня 2023 г.. Если вы или ваша организация используете библиотеку проверки подлинности Azure Active Directory (ADAL), необходимо перейти в MSAL, чтобы избежать риска безопасности приложения.
Samples
См . наш полный список примеров.
Получить справку по SDK
Если у вас есть вопрос о пакете SDK MSAL, обнаружена ошибка в документации или нужна рекомендация, создайте проблему Github с подробными сведениями.