分享方式:


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

一線工作者 (例如零售員工、飛行機組成員和現場服務人員) 通常會使用共用行動裝置來執行其工作。 當他們開始共用密碼或 PIN 號碼以存取共用裝置上的客戶和商務資料時,這就會變成問題。

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

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

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

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

身分識別>角色和系統管理員>角色和系統管理員>雲端裝置系統管理員

本文主要著重於開發人員應考慮的事項。

單一帳戶與多帳戶應用程式

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

您應用程式可用的 Microsoft 身分識別平台功能會有所不同,取決於應用程式是在單一帳戶模式還是多帳戶模式中執行。

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

重要

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

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

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

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

您也可能想要應用程式變更其行為,取決於其執行所在的裝置類型。 使用 ISingleAccountPublicClientApplication.isSharedDevice() 來決定何時要在單一帳戶模式下執行。

有兩個不同的介面,代表您應用程式所在的裝置類型。 當您從 MSAL 的應用程式工廠要求應用程式執行個體時,系統會自動提供正確的應用程式物件。

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

公用用戶端應用程式繼承模型

當您取得 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

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

共用裝置登出和整體應用程式生命週期

當使用者登出時,您必須採取行動,以保護使用者的隱私權和資料。 例如,如果您是建置醫療記錄應用程式,則會想要確定當使用者登出時,清除先前顯示的患者記錄。 您的應用程式必須為資料隱私權做好準備,並在每次進入前景時檢查。

當您的應用程式使用 MSAL,在處於共用模式的裝置上執行的應用程式中,將使用者登出時,已登入的帳戶和快取的權杖會從應用程式和裝置中移除。

下圖顯示整體應用程式生命週期,以及在應用程式執行時可能發生的常見事件。 此圖表涵蓋了活動啟動、登入和登出帳戶的時間,以及暫停、繼續及停止活動之類的事件如何納入。

共用裝置應用程式生命週期

下一步

如需有關如何在 Android 裝置上以共用模式執行一線工作者應用程式的詳細資訊,請參閱: