適用於 Android 裝置的共用裝置模式

零售同事、乘務員和 現場服務 員工等前線員工經常使用共用行動裝置來執行工作。 這在他們開始共享密碼或釘選號碼以存取共用裝置上的客戶和商務數據時,就會變成問題。

共用裝置模式可讓您設定 Android 裝置,以便讓多個員工輕鬆共用。 員工可以快速登入並存取客戶資訊。 當他們完成班次或工作時,他們可以註銷裝置,並立即準備好讓下一位員工使用。

共用裝置模式也提供 Microsoft 身分識別支持的裝置管理。

若要建立共用裝置模式應用程式,開發人員和雲端裝置系統管理員會共同合作:

  • 開發人員撰寫單一帳戶應用程式(共用裝置模式不支援多帳戶應用程式)、新增 "shared_device_mode_supported": true 至應用程式的設定,以及撰寫程式代碼來處理共用裝置註銷之類的專案。
  • 裝置系統管理員會安裝驗證器應用程式,並使用驗證器應用程式將裝置設定為共用模式,以準備要共用的裝置。 只有位於雲端裝置 管理員 istrator 角色的使用者,才能使用 Authenticator 應用程式將裝置置於共用模式。 您可以在下列的 Microsoft Entra 系統管理中心中設定組織角色的成員資格:

身分識別>角色和 管理員>角色和 管理員>雲端裝置 管理員 istrator。

本文主要著重於開發人員應該考慮的內容。

單一與多帳戶應用程式

使用 Microsoft 驗證連結庫 (MSAL) SDK 撰寫的應用程式可以管理單一帳戶或多個帳戶。 如需詳細資訊,請參閱 單一帳戶模式或多帳戶模式

應用程式可用的 Microsoft 身分識別平台 功能會因應用程式是以單一帳戶模式或多帳戶模式執行而有所不同。

共用裝置模式應用程式只能在單一帳戶模式中運作

重要

僅支援多帳戶模式的應用程式無法在共用裝置上執行。 如果員工載入不支援單一帳戶模式的應用程式,就不會在共用裝置上執行。

在 MSAL SDK 發行前所撰寫的應用程式以多重帳戶模式執行,且必須更新以支援單一帳戶模式,才能在共用模式裝置上執行。

同時支援單一帳戶和多個帳戶

您可以建置您的應用程式,以支援在個人裝置和共用裝置上執行。 如果您的應用程式目前支援多個帳戶,而且您想要支援共用裝置模式,請新增單一帳戶模式的支援。

您可能也希望您的應用程式根據執行裝置的類型來變更其行為。 用來 ISingleAccountPublicClientApplication.isSharedDevice() 判斷何時以單一帳戶模式執行。

有兩個不同的介面代表應用程式開啟的裝置類型。 當您向 MSAL 的應用程式處理站要求應用程式實例時,會自動提供正確的應用程式物件。

下列物件模型說明您可能會接收的物件類型,以及它在共用裝置的內容中的意義:

public client application inheritance model

當您取得 PublicClientApplication 物件時,您需要進行類型檢查並轉換成適當的介面。 下列程式代碼會檢查多個帳戶模式或單一帳戶模式,並適當地轉換應用程式物件:

private IPublicClientApplication mApplication;

        // Running in personal-device mode?
        if (mApplication instanceOf IMultipleAccountPublicClientApplication) {
          IMultipleAccountPublicClientApplication multipleAccountApplication = (IMultipleAccountPublicClientApplication) mApplication;
          ...
        // Running in shared-device mode?
        } else if (mApplication instanceOf ISingleAccountPublicClientApplication) {
           ISingleAccountPublicClientApplication singleAccountApplication = (ISingleAccountPublicClientApplication) mApplication;
            ...
        }

視您的應用程式是在共用或個人裝置上執行而定,適用下列差異:

共用模式裝置 個人裝置
客戶 單一帳戶 多個帳戶
登入 全球 全球
註銷 全球 每個應用程式都可以控制註銷是否為應用程式的本機。
支援的帳戶類型 僅限工作帳戶 支持的個人和工作帳戶

為什麼您可能只想要支援單一帳戶模式

如果您要撰寫只用於使用共用裝置之前線工作者的應用程式,建議您撰寫應用程式僅支援單一帳戶模式。 這包括大部分以工作為主的應用程式,例如醫療記錄應用程式、發票應用程式,以及大部分的企業營運應用程式。 僅支援單一帳戶模式可簡化開發,因為您不需要實作屬於多個帳戶應用程式的其他功能。

裝置模式變更時會發生什麼事

如果您的應用程式是以多重帳戶模式執行,而系統管理員會將裝置置於共用裝置模式中,則會從應用程式清除裝置上的所有帳戶,而應用程式會轉換成單一帳戶模式。

支援共享裝置模式的 Microsoft 應用程式

這些 Microsoft 應用程式支援 Microsoft Entra 共用裝置模式:

支援共享裝置模式的第三方 MDM

此支援 Microsoft Entra 共用裝置模式的第三方行動裝置 裝置管理 (MDM) :

共用裝置註銷和整體應用程式生命週期

當使用者註銷時,您必須採取動作來保護用戶的隱私權和數據。 例如,如果您要建置醫療記錄應用程式,您想要確定使用者註銷先前顯示的病患記錄時已清除。 您的應用程式必須準備好數據隱私權,並在每次進入前景時檢查。

當您的應用程式使用 MSAL 在處於共用模式的裝置上執行的應用程式中註銷使用者時,系統會從應用程式和裝置中移除已登入的帳戶和快取令牌。

下圖顯示應用程式執行時可能發生的整體應用程式生命週期和常見事件。 此圖涵蓋活動啟動、登入和註銷帳戶的時間,以及暫停、繼續和停止活動等事件的方式。

Shared device app lifecycle

下一步

如需如何在 Android 裝置上共用模式上執行前線背景工作應用程式的詳細資訊,請參閱: