Поделиться через


Руководство по подготовке приложения iOS/macOS для собственной проверки подлинности

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

В этом руководстве показано, как добавить библиотеку аутентификации Microsoft (MSAL) с использованием фреймворка нативной аутентификации SDK в ваше приложение Swift для iOS/macOS.

Изучив это руководство, вы:

  • Добавьте платформу MSAL в приложение iOS/macOS.
  • Создание экземпляра пакета SDK.

Необходимые условия

Добавление платформы MSAL в приложение iOS/macOS

  1. Откройте проект iOS или macOS в Xcode.
  2. Выберите Добавить зависимости пакета... в меню Файл.
  3. Введите https://github.com/AzureAD/microsoft-authentication-library-for-objc в качестве URL-адреса пакета и выберите Добавить пакет.
  4. Добавьте новую группу цепочек ключей в проект функции. Используйте com.microsoft.adalcache в iOS и com.microsoft.identity.universalstorage в macOS.

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

Создание экземпляра пакета SDK

  1. Импортируйте библиотеку MSAL в контроллер представления, добавив import MSAL в верхней части класса ViewController.

  2. Добавьте переменную члена nativeAuth в класс ViewController, добавив следующий код непосредственно перед функцией viewDidLoad():

    var nativeAuth: MSALNativeAuthPublicClientApplication!
    
  3. Затем добавьте следующий код в функцию 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)")
     }
    
  4. Замените следующие значения значениями из Центра администрирования Microsoft Entra:

    1. Найдите значение Enter_the_Application_Id_Here и замените его идентификатором приложения (клиента) зарегистрированного ранее приложения.

    2. Найдите Enter_the_Tenant_Subdomain_Here и замените его поддоменом каталога (клиента). Например, если основной домен клиента contoso.onmicrosoft.com, используйте contoso. Если у вас нет поддомена каталога (клиента), узнайте, как прочитать сведения о клиенте.

      Типы вызовов — это список значений, которые приложение использует для уведомления Microsoft Entra о поддерживаемом методе проверки подлинности.

      • Для потоков регистрации и входа с помощью разового пароля, отправляемого на электронную почту, используйте [.OOB].
      • Для потоков регистрации и входа с помощью электронной почты и пароля используйте [.OOB, .password].
      • Для самостоятельного сброса пароля (SSPR) используйте [.OOB].

      Узнайте больше о типах задач.

  5. Для сборки выберите Product>Build на панели инструментов проекта.

Необязательно: Конфигурация ведения журнала

MSAL предоставляет API ведения журнала, который можно использовать для включения и настройки ведения журнала. Чтобы просмотреть все выходные данные отладки из MSAL, добавьте следующий код в начале функции viewDidLoad():

MSALGlobalConfig.loggerConfig.logLevel = .verbose
MSALGlobalConfig.loggerConfig.setLogCallback { logLevel, message, containsPII in
   if !containsPII {
      print("MSAL: \(message ?? "")")
   }
}

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

Следующий шаг