次の方法で共有


チュートリアル: iOS/macOS アプリをネイティブ認証用に準備する

適用対象: 白いチェック マーク記号がある緑の円。 iOS (Swift) 白いチェック マーク記号がある緑の円。 macOS (Swift)

このチュートリアルでは、Microsoft Authentication Library (MSAL) ネイティブ認証 SDK フレームワークを iOS/macOS Swift アプリに追加する方法について説明します。

このチュートリアルでは、次の作業を行う方法について説明します。

  • MSAL フレームワークを iOS/macOS アプリに追加します。
  • SDK インスタンスを作成します。

前提条件

MSAL フレームワークを iOS/macOS アプリに追加する

  1. Xcode で iOS/macOS プロジェクトを開きます。
  2. [パッケージの依存関係を追加...][ファイル] メニューから選択します。
  3. https://github.com/AzureAD/microsoft-authentication-library-for-objc をパッケージ URL として入力し、[パッケージの追加] を選択します
  4. 新しいキーチェーン グループをプロジェクトの [機能] に追加します。 iOS では com.microsoft.adalcache を使用し、macOS では com.microsoft.identity.universalstorage を使用します。

自分のプロジェクトに MSAL を追加するための詳細およびその他のメカニズムについては、「プロジェクトの Readme ファイル」を参照してください。

SDK インスタンスを作成する

  1. ViewController クラスの上部に import MSAL を追加して、ビュー コントローラーに MSAL ライブラリをインポートします。

  2. viewDidLoad() 関数の直前に次のコードを追加して、ViewController クラスに nativeAuth メンバー変数を追加します。

    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 の値を見つけ、前に登録したアプリのアプリケーション (クライアント) ID に置き換えます。

    2. Enter_the_Tenant_Subdomain_Here の値を見つけ、ディレクトリ (テナント) サブドメインに置き換えます。 たとえば、テナントのプライマリ ドメインが contoso.onmicrosoft.com の場合は、contoso を使用します。 ディレクトリ (テナント) サブドメインがない場合は、テナントの詳細を読み取る方法を確認してください。

      チャレンジ型は、アプリがサポートしている認証方法について Microsoft Entra に通知するために使用する値の一覧です。

      • メールによるワンタイム パスコードを使ったサインアップおよびサインイン フローについては、[.OOB] を使用します。
      • メールとパスワードを使ったサインアップおよびサインイン フローについては、[.OOB, .password] を使用します。
      • セルフサービス パスワード リセット (SSPR) については、[.OOB] を使用します。

      チャレンジ型の詳細をご覧ください。

  5. ビルドするには、プロジェクトのツール バーで [製品]>[ビルド] を選択します。

省略可能: ログ記録の構成

MSAL には、ログ記録を有効にし構成するために使用できるログ記録 API が用意されています。 MSAL からのすべてのデバッグ出力を表示するには、viewDidLoad() 関数の先頭に次のコードを追加します。

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

これにより、MSAL からすべてのデバッグ ログが出力されます。これは、問題の診断やネイティブ認証フローのしくみの学習に役立ちます。 ログ レベルの構成とベスト プラクティスの詳細については、「iOS/macOS 用の MSAL でのログ記録」を参照してください。

次のステップ