共用方式為


在 iOS/macOS 應用程式中設定優化的 QR 代碼驗證體驗

QR 代碼驗證方法可讓前線工作者快速且輕鬆地在共用裝置上的應用程式中登入。 使用者可以使用其系統管理員提供的唯一 QR 代碼,並輸入 PIN 以登入,而不需要輸入使用者名稱和密碼。

您可以使用 login.microsoft.com 提供的 QR 代碼 Web 登入體驗。 此用戶進入點不需要任何開發人員變更。 使用者選取 [登入] 選項>登入組織>使用 QR 代碼登入。 您可以藉由在登入頁面提供進入點,以優化 QR 代碼登入體驗,同時消除兩次用戶點選。 若要利用 QR 代碼驗證方法,應用程式開發人員和 驗證原則管理員 會共同合作:

  • 應用程式開發人員會使用適用於 iOS 和 macOS 的 Microsoft 驗證連結庫 (MSAL),在其應用程式中整合 QR 代碼驗證的優化進入點。
  • 驗證原則管理員會在 Microsoft Entra ID 中設定 驗證方法

設定您的應用程式以使用 QR 代碼驗證

若要將應用程式設定為使用 QR 代碼驗證,您可以在 MSAL 中呼叫 getDeviceInformationWithParameters API 以接收 MSALDeviceInformation 物件。 在此物件中,新的旗標可用來反映系統管理員在單一登錄 (SSO) 擴充功能組態中設定的 QR 代碼驗證。 下列代碼段示範如何擷取慣用的驗證方法:


@property (nonatomic, readonly) MSALPreferredAuthMethod configuredPreferredAuthMethod; 

MSALPreferredAuthMethod 是描述可用之不同驗證方法的列舉。 屬性 configuredPreferredAuthMethod 可讓您擷取應用程式的慣用驗證方法。 目前,QR 代碼是私人列舉值為 1。 當發行至正式上市時,它是 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 

}]; 

此代碼段會在 iOS 應用程式中使用 MSAL 來設定及取得令牌,著重於 QR 代碼驗證。 它會使用驗證 Web 檢視的檢視控制器初始化 MSALWebviewParameters ,並使用必要的範圍和 Web 參數建立 MSALInteractiveTokenParameters 。 慣用的驗證方法會設定為 QR 代碼驗證。

最後,它會使用已設定的參數和完成區塊來呼叫 acquireTokenWithParametersMultipleAccountPublicClientApplication 實例,以處理結果。 此設定可確保驗證流程會使用 QR 代碼驗證方法來進行安全且方便的用戶驗證。

建議您在 MSAL 中呼叫 getDeviceInformationWithParameters API,以了解系統管理員是否已設定 QR 代碼驗證方法。 如果有,應用程式可以更新其 UI,以指出 QR 代碼驗證方法可作為登入選項。