iOS/macOS アプリで最適化された QR コード認証エクスペリエンスを設定する

QR コード認証方法を使用すると、現場担当者は共有デバイス上のアプリにすばやく簡単にサインインできます。 ユーザーは、管理者が提供する一意の QR コードを使用し、PIN を入力してサインインできるため、ユーザー名とパスワードを入力する必要がなくなります。

login.microsoft.com で利用できる QR コード Web サインイン エクスペリエンスを使用できます。 このユーザー エントリ ポイントでは、開発者の変更は必要ありません。 ユーザーが [サインイン オプション] を選択>組織にサインイン>QR コードでサインインします。 サインイン ページにエントリ ポイントを指定することで、QR コードのサインイン エクスペリエンスを最適化し、ユーザーが 2 回クリックする必要がなくなります。 QR コード認証方法を利用するために、アプリ開発者と 認証ポリシー管理者 は連携して作業します。

  • アプリ開発者は、iOS および macOS 用の Microsoft Authentication Library (MSAL) を使用して、QR コード認証の最適化されたエントリ ポイントをアプリに統合します。
  • 認証ポリシー管理者は、Microsoft Entra IDで認証方法を構成します。

QR コード認証を使用するようにアプリを構成する

QR コード認証を使用するようにアプリを構成するには、MSAL で getDeviceInformationWithParameters API を呼び出して、 MSALDeviceInformation オブジェクトを受け取ることができます。 このオブジェクトでは、シングル サインオン (SSO) 拡張機能の構成で管理者が構成した QR コード認証を反映する新しいフラグを使用できます。 次のコード スニペットは、優先する認証方法を取得する方法を示しています。


@property (nonatomic, readonly) MSALPreferredAuthMethod configuredPreferredAuthMethod; 

MSALPreferredAuthMethod は、使用可能なさまざまな認証方法を記述する列挙体です。 configuredPreferredAuthMethod プロパティを使用すると、アプリケーションの優先認証方法を取得できます。 現在、QR コードはプライベート列挙値 1 です。 一般提供 (GA) としてリリースされると、それは MSALPreferredAuthMethodQRPIN です。

MSALInteractiveTokenParameters また、 MSALPreferredAuthMethod: preferredAuthMethod型の新しい省略可能なパラメーターも定義します。 このパラメーターが QR コード認証に設定されている場合、結果として得られる対話型サインイン UI は、ユーザーを QR コード認証エントリ ページに直接移動します。 次のコード スニペットは、QR コード認証を使用するようにアプリを構成する方法を示しています。

MSALWebviewParameters *webParameters = [[MSALWebviewParameters alloc] initWithAuthPresentationViewController:viewController]; 

     

MSALInteractiveTokenParameters *interactiveParams = [[MSALInteractiveTokenParameters alloc] initWithScopes:scopes webviewParameters:webParameters]; 

 

interactiveParams.preferredAuthMethod = 1; //Currently need to use the private enum value 

 

[application acquireTokenWithParameters:interactiveParams completionBlock:^(MSALResult *result, NSError *error) { 

    // When token acquisition completes 

}]; 

このコード スニペットは、QR コード認証に重点を置いて、iOS アプリで MSAL を使用してトークンを構成して取得します。 認証 Web ビューのビュー コントローラーを使用して MSALWebviewParameters を初期化し、必要なスコープと Web パラメーターを使用して MSALInteractiveTokenParameters を作成します。 推奨される認証方法は、QR コード認証に設定されます。

最後に、構成されたパラメーターと完了ブロックを使用して、acquireTokenWithParameters インスタンスのMultipleAccountPublicClientApplicationを呼び出して結果を処理します。 この設定により、認証フローで安全で便利なユーザー認証に QR コード認証方法が使用されるようになります。

管理者が QR コード認証方法を構成しているかどうかを調べるには、MSAL で getDeviceInformationWithParameters API を呼び出すようにお勧めします。 存在する場合、アプリは UI を更新して、QR コード認証方法がサインイン オプションとして使用できることを示すことができます。

既定では、QR コード認証は、カメラを使用して QR コードをスキャンする必要があるたびに、ユーザーにカメラのアクセス許可を求めます。

iOS でカメラへのアクセスを許可する方法のスクリーンショット。

管理者は、この動作を抑制し、カメラのアクセス許可の要求をスキップできます。 要求を構成するには、次の SSO 拡張機能の構成を設定します。

  • キー: suppress_camera_consent
  • : 整数
  • : 1 または 0。 既定では、この値は 0 に設定されます。

場所は、preferred_auth_methodを構成できる場所と同じです。 SSO 拡張機能の構成の詳細については、「 Apple デバイス用の Microsoft Enterprise SSO プラグインのその他の構成オプション」を参照してください。

Note

オペレーティング システムの要件により、カメラの同意プロンプトに 1 回表示されます。