Руководство по подготовке приложения iOS/macOS для собственной проверки подлинности
Область применения: iOS (Swift) macOS (Swift) (Swift)
В этом руководстве показано, как добавить собственную платформу SDK для проверки подлинности библиотеки проверки подлинности Майкрософт (MSAL) в приложение Swift для iOS/macOS.
В этом руководстве описано следующее:
- Добавьте платформу MSAL в приложение iOS/macOS.
- Создание экземпляра пакета SDK.
Необходимые компоненты
- Xcode
- Если вы еще не сделали этого, следуйте инструкциям в разделе "Вход пользователей в примере мобильного приложения iOS (Swift) с помощью собственной проверки подлинности и регистрации приложения во внешнем клиенте. Убедитесь, что выполните следующие действия.
- Зарегистрируйте приложение.
- Включите общедоступный клиент и собственные потоки проверки подлинности.
- Предоставьте разрешения API.
- Создание потока пользователей.
- Свяжите приложение с потоком пользователя.
- Проект iOS/macOS
Добавление платформы MSAL в приложение iOS/macOS
- Откройте проект iOS или macOS в Xcode.
- Выберите " Добавить зависимости пакета" в меню "Файл ".
- Введите
https://github.com/AzureAD/microsoft-authentication-library-for-objc
URL-адрес пакета и нажмите кнопку "Добавить пакет". - Добавьте новую группу цепочки ключей в раздел Возможности для проекта. Используйте
com.microsoft.adalcache
в iOS иcom.microsoft.identity.universalstorage
macOS.
Дополнительные сведения и другие механизмы добавления MSAL в проект см. в файле Readme проекта.
Создание экземпляра пакета SDK
Импортируйте библиотеку MSAL в контроллер представления, добавив
import MSAL
в началоViewController
класса.Добавьте переменную-член
nativeAuth
вViewController
класс, добавив следующий код непосредственно перед функциейviewDidLoad()
:var nativeAuth: MSALNativeAuthPublicClientApplication!
Затем добавьте следующий код в функцию
viewDidLoad()
:do { nativeAuth = try MSALNativeAuthPublicClientApplication( clientId: "Enter_the_Application_Id_Here", tenantSubdomain: "Enter_the_Tenant_Subdomain_Here", challengeTypes: [.OOB] ) print("Initialized Native Auth successfully.") } catch { print("Unable to initialize MSAL \(error)") }
Замените следующие значения значениями из Центра администрирования Microsoft Entra:
Enter_the_Application_Id_Here
Найдите значение и замените его идентификатором приложения (клиента) зарегистрированного ранее приложения.Enter_the_Tenant_Subdomain_Here
Найдите и замените его поддоменом каталога (клиента). Например, если основной домен клиента — этоcontoso.onmicrosoft.com
, используйтеcontoso
. Если у вас нет поддомена каталога (клиента), узнайте, как считывать сведения о клиенте.Типы вызовов — это список значений, которые приложение использует для уведомления Microsoft Entra о методе проверки подлинности, который он поддерживает.
- Для потоков регистрации и входа с помощью одноразового секретного кода электронной почты используйте
[.OOB]
. - Для потоков регистрации и входа с помощью электронной почты и пароля используйте
[.OOB, .password]
. - Для самостоятельного сброса пароля (SSPR) используйте
[.OOB]
.
Узнайте больше о типах проблем.
- Для потоков регистрации и входа с помощью одноразового секретного кода электронной почты используйте
Чтобы создать, выберите "Сборка продукта>" на панели инструментов проекта.
Необязательно. Настройка ведения журнала
MSAL предоставляет API ведения журнала, который можно использовать для включения и настройки ведения журнала. Чтобы просмотреть все выходные данные отладки из MSAL, добавьте следующий код в начале viewDidLoad()
функции:
MSALGlobalConfig.loggerConfig.logLevel = .verbose
MSALGlobalConfig.loggerConfig.setLogCallback { logLevel, message, containsPII in
if !containsPII {
print("MSAL: \(message ?? "")")
}
}
Это выводит все журналы отладки из MSAL, которые могут быть полезны при диагностике проблем и изучении работы собственных потоков проверки подлинности. Дополнительные сведения о настройке уровней журналов и рекомендациях см. в статье "Ведение журнала в MSAL для iOS/macOS".