適用於 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 的共用裝置模式:
- Microsoft Teams
- 適用於 Android Enterprise 的 Microsoft Managed Home Screen 應用程式
- Microsoft Edge
- Outlook
- Microsoft Power Apps
- Microsoft Power BI 行動版
- Microsoft Viva Engage (先前 Yammer)
- Microsoft 365 (公開預覽版)
支援共用裝置模式的第三方 MDM
此第三方行動裝置管理 (MDM) 支援 Microsoft Entra 共用裝置模式:
共用裝置登出和整體應用程式生命週期
當使用者登出時,您必須採取行動,以保護使用者的隱私權和資料。 例如,如果您是建置醫療記錄應用程式,則會想要確定當使用者登出時,清除先前顯示的患者記錄。 您的應用程式必須為資料隱私權做好準備,並在每次進入前景時檢查。
當您的應用程式使用 MSAL,在處於共用模式的裝置上執行的應用程式中,將使用者登出時,已登入的帳戶和快取的權杖會從應用程式和裝置中移除。
下圖顯示整體應用程式生命週期,以及在應用程式執行時可能發生的常見事件。 此圖表涵蓋了活動啟動、登入和登出帳戶的時間,以及暫停、繼續及停止活動之類的事件如何納入。
下一步
如需有關如何在 Android 裝置上以共用模式執行一線工作者應用程式的詳細資訊,請參閱:
意見反映
https://aka.ms/ContentUserFeedback。
即將推出:我們會在 2024 年淘汰 GitHub 問題,並以全新的意見反應系統取代並作為內容意見反應的渠道。 如需更多資訊,請參閱:提交及檢視以下的意見反映: