Compartilhar via


Modo de dispositivo compartilhado para dispositivos Android

Com frequência, os trabalhadores da linha de frente como assistentes de varejo, membros da equipe de voo e trabalhadores de serviços de campo, usam um dispositivo móvel compartilhado para realizar seu trabalho. Isso se torna problemático quando começa a compartilhar senhas ou números de PIN para acessar dados de clientes e negócios no dispositivo compartilhado.

O modo de dispositivo compartilhado permite que você configure um dispositivo Android para que ele possa ser facilmente compartilhado por vários funcionários. Os funcionários podem se conectar aos seus dispositivos e acessar as informações do cliente rapidamente. Após concluírem seu turno ou tarefa, eles poderão sair do dispositivo, e este ficará imediatamente pronto para uso pelo próximo funcionário.

O modo de dispositivo compartilhado também oferece gerenciamento do dispositivo com suporte de identidade da Microsoft.

Para criar um aplicativo de modo de dispositivo compartilhado, os desenvolvedores e os administradores de dispositivos de nuvem trabalham juntos:

  • Os desenvolvedores gravam um aplicativo de conta única (aplicativos de várias contas não têm suporte no modo de dispositivo compartilhado), adicionam "shared_device_mode_supported": true à configuração do aplicativo e gravam o código para lidar com situações tais como a saída de um dispositivo compartilhado.
  • Os administradores de dispositivo preparam o dispositivo a ser compartilhado instalando o aplicativo autenticador e definindo o dispositivo para o modo compartilhado usando o aplicativo autenticador. Somente os usuários que estão na função de Administrador de Dispositivo de Nuvem podem colocar um dispositivo no modo compartilhado usando o aplicativo Authenticator. Você pode configurar a associação de suas funções organizacionais no Centro de administração do Microsoft Entra em:

Identidade>Funções e Administradores>Funções e Administradores>Administrador de Dispositivo de Nuvem.

Este artigo se concentra principalmente no que os desenvolvedores devem pensar.

Aplicativos simples versus de várias contas

Os aplicativos escritos usando o SDK da MSAL (Biblioteca de Autenticação da Microsoft) podem gerenciar uma única conta ou várias contas. Para obter detalhes, consulte modo de conta única ou modo de várias contas.

Os recursos da plataforma de identidade da Microsoft disponíveis para seu aplicativo variam dependendo se o aplicativo está sendo executado no modo de conta única ou em modo de várias contas.

Os aplicativos de modo de dispositivo compartilhado funcionam apenas no modo de conta única.

Importante

Aplicativos que dão suporte apenas ao modo de várias contas não podem ser executados em um dispositivo compartilhado. Se um funcionário carregar um aplicativo que não dá suporte ao modo de conta única, ele não será executado no dispositivo compartilhado.

Os aplicativos gravados antes do lançamento do SDK da MSAL, são executados no modo de várias contas e devem ser atualizados para dar suporte ao modo de conta única antes que possam ser executados em um dispositivo de modo compartilhado.

Suporte a conta única e a várias contas

Seu aplicativo pode ser criado para dar suporte à execução em dispositivos pessoais e compartilhados. Se seu aplicativo atualmente dá suporte a várias contas e você deseja dar suporte ao modo de dispositivo compartilhado, adicione suporte para o modo de conta única.

Você também pode querer que seu aplicativo altere o comportamento a depender do tipo de dispositivo onde ele está sendo executado. Use ISingleAccountPublicClientApplication.isSharedDevice() para determinar quando executar no modo de conta única.

Há duas interfaces diferentes que representam o tipo de dispositivo no qual seu aplicativo está. Quando você solicita uma instância de aplicativo do Application Factory da MSAL, o objeto de aplicativo correto é fornecido automaticamente.

O modelo de objeto a seguir ilustra o tipo de objeto que você pode receber e o que significa no contexto de um dispositivo compartilhado:

public client application inheritance model

Você precisa realizar uma verificação de tipo e fazer uma conversão para a interface apropriada ao obter o objeto PublicClientApplication. O código a seguir verifica os modos de várias contas ou de conta única e faz a conversão apropriada do objeto de aplicativo:

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;
            ...
        }

As seguintes diferenças se aplicam dependendo se seu aplicativo está em execução em um dispositivo compartilhado ou pessoal:

Dispositivo no modo compartilhado Dispositivo pessoal
Contas Conta única Várias contas
Entrar Global Global
Sair Global Cada aplicativo pode controlar se a saída é local para o aplicativo ou para a família de aplicativos.
Tipos de conta compatíveis Somente contas corporativas Contas pessoais e corporativas com suporte

Por que você talvez queira dar suporte apenas ao modo de conta única

Se você estiver escrevendo um aplicativo que será usado apenas por trabalhadores da linha de frente usando um dispositivo compartilhado, recomendamos que você codifique seu aplicativo para dar suporte apenas ao modo de conta única. Isso inclui a maioria dos aplicativos focados em tarefas, como os aplicativos de registros médicos, aplicativos de fatura e a maioria dos aplicativos de linha de negócios. Dar suporte apenas ao modo de conta única simplifica o desenvolvimento, porque você não precisará implementar outros recursos que fazem parte de aplicativos de várias contas.

O que acontece quando o modo do dispositivo é alterado

Se seu aplicativo estiver sendo executado no modo de várias contas e um administrador colocar o dispositivo no modo de dispositivo compartilhado, todas as contas no dispositivo serão limpas do aplicativo e o aplicativo passará para o modo de conta única.

Aplicativos da Microsoft que dão suporte ao modo de dispositivo compartilhado

Esses aplicativos da Microsoft dão suporte ao modo de dispositivo compartilhado do Microsoft Entra:

MDMs de terceiros que dão suporte ao modo de dispositivo compartilhado

Esse Gerenciamento de Dispositivo Móvel (MDM) de terceiros que dá suporte ao modo de dispositivo compartilhado do Microsoft Entra:

Sair do dispositivo compartilhado e ciclo de vida geral do aplicativo

Quando um usuário sair, você precisará tomar medidas para proteger a privacidade e os dados do usuário. Por exemplo, se você estiver criando um aplicativo de registros médicos, certifique-se de que, quando o usuário sair, os registros de pacientes exibidos anteriormente sejam limpos. Seu aplicativo deve estar preparado para privacidade de dados e verificação de dados a cada vez que ele entrar no primeiro plano.

Quando seu aplicativo usa MSAL para desconectar o usuário em um aplicativo em execução no dispositivo que está no modo compartilhado, a conta conectada e os tokens armazenados em cache são removidos do aplicativo e do dispositivo.

O diagrama a seguir mostra o ciclo de vida geral do aplicativo e eventos comuns que podem ocorrer enquanto seu aplicativo é executado. O diagrama abrange desde o momento em que uma atividade é iniciada, o processo de entrada e saída de uma conta, e como eventos como pausar, retomar e encerrar a atividade se encaixam.

Shared device app lifecycle

Próximas etapas

Para obter mais informações sobre como executar um aplicativo de trabalho de linha de frente no modo compartilhado em um dispositivo Android, consulte: