次の方法で共有


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

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

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

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

前提条件

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

  1. Xcode で iOS プロジェクトを開きます。
  2. [パッケージの依存関係を追加...][ファイル] メニューから選択します。
  3. https://github.com/AzureAD/microsoft-authentication-library-for-objc をパッケージ URL として入力し、[パッケージの追加] を選択 します

自分のプロジェクトに 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 を使用します。 ディレクトリ (テナント) のサブドメイン名がない場合は、テナントの詳細を読み取る方法を確認してください
  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 でのログ記録」を参照してください。

次のステップ