Compartilhar via


Conectar usuários em um aplicativo móvel de exemplo do Android (Kotlin) usando a autenticação nativa

Este guia mostra como executar um aplicativo de exemplo do Android que demonstra os cenários de inscrição, entrada, saída e redefinição de senha usando a autenticação nativa do Microsoft Entra.

Neste artigo, você aprenderá como:

  • Registre o aplicativo no locatário externo.
  • Habilite os fluxos do cliente público e da autenticação nativa.
  • Crie um fluxo de usuário no locatário externo.
  • Associe seu aplicativo ao fluxo do usuário.
  • Atualize o arquivo de exemplo de código de configuração do Android para usar sua própria ID externa do Microsoft Entra para obter detalhes do locatário externo.
  • Execute e teste o aplicativo móvel de exemplo nativo do Android.

Pré-requisitos

Registrar um aplicativo

Para permitir a entrada de usuários com o Microsoft Entra no seu aplicativo, a ID externa do Microsoft Entra deve estar ciente do aplicativo criado. O registro do aplicativo estabelece uma relação de confiança entre o aplicativo e o Microsoft Entra. Quando você registra um aplicativo, o External ID gera um identificador exclusivo conhecido como ID do Aplicativo (cliente), um valor usado para identificar seu aplicativo ao criar solicitações de autenticação.

As etapas a seguir mostram como registrar seu aplicativo no centro de administração do Microsoft Entra:

  1. Faça login no Centro de administração do Microsoft Entra como pelo menos um Desenvolvedor de aplicativos.

  2. Se tiver acesso a vários locatários, use o ícone Configurações no menu superior para alternar para o seu locatário externo no menu Diretórios + assinaturas.

  3. Navegue até Identidade>Aplicativos>Registros do aplicativo.

  4. Selecione + Novo Registro.

  5. Na página Registrar um aplicativo que aparece;

    1. Insira um Nome de aplicativo relevante que será exibido aos usuários do aplicativo, por exemplo,ciam-client-app.
    2. Em Tipos de contas com suporte, selecione Contas somente neste diretório organizacional.
  6. Selecione Registrar.

  7. O painel Visão geral do aplicativo será exibido após o registro bem-sucedido. Grave a ID do aplicativo (cliente) que será usada no código-fonte do aplicativo.

Habilitar os fluxos do cliente público e da autenticação nativa

Para especificar que este aplicativo é um cliente público e pode usar a autenticação nativa, habilite os fluxos do cliente público e da autenticação nativa:

  1. Na página de registros de aplicativo, selecione o registro de aplicativo para o qual deseja habilitar os fluxos do cliente público e da autenticação nativa.
  2. Em Gerenciar, selecione Autenticação.
  3. Em Configurações avançadas, permita os fluxos do cliente público:
    1. Em Habilitar os seguintes fluxos móveis e de desktop, selecione Sim.
    2. Em Habilitar a autenticação nativa, escolha Sim.
  4. Selecione o botão Salvar.
  1. Na página Registros de aplicativo, selecione o aplicativo que você criou (como ciam-client-app) para abrir sua página Visão geral.

  2. Em Gerenciar, selecione Permissões de API. Na lista de Permissões configuradas, o aplicativo recebeu a permissão User.Read. No entanto, como o locatário é um locatário externo, os próprios utilizadores consumidores não podem consentir com essa permissão. Você, como administrador, deve consentir com essa permissão em nome de todos os usuários no locatário:

    1. Selecione Dar consentimento de administrador para <nome do seu locatário> e selecione Sim.
    2. Selecione Atualizar e verifique se Concedido para <nome do seu locatário> aparece em Status para ambos os escopos.

Criar um fluxo de usuário

Siga estas etapas para criar um fluxo do usuário.

  1. Faça login no Centro de administração do Microsoft Entra como pelo menos um Desenvolvedor de aplicativos.

  2. Se você tiver acesso a vários locatários, use o diretório que contém seu locatário externo:

    1. Selecione o ícone Diretórios + assinaturas na barra de ferramentas.
    2. Na página Configurações do Portal | Diretórios + assinaturas, localize o diretório do seu locatário externo na lista de Nome do diretório e selecione Alternar.
  3. No menu da barra lateral, selecione Identidade.

  4. Selecione Identidades Externas>Fluxos de usuário.

  5. Selecione + Novo fluxo de usuário.

  6. Na página Criar:

    1. Insira um Nome para o fluxo de usuário, como SignInSignUpSample.

    2. Na lista Provedores de identidade, selecione Contas de Email. Esse provedor de identidade permite que os usuários entrem ou se inscrevam usando seu endereço de email.

    3. Em Contas de email, você pode selecionar uma das duas opções. Para este tutorial, selecione Senha de uso único por email.

      • Email com senha: permite que novos usuários se inscrevam e entrem usando um endereço de email como o nome de entrada e uma senha como sua credencial de primeiro fator.
      • Senha de uso único por email: permite que novos usuários se inscrevam e se conectem usando um endereço de email como o nome de entrada e a senha de uso único por email como a credencial de primeiro fator. Para que essa opção fique disponível no nível do fluxo do usuário, habilite a senha de uso único (OTP) por email no nível do locatário (selecione Todos os Provedores de Identidade e, em seguida, para Senha de uso único por email, selecione Configurada, a opção Sim e Salvar).
    4. Em Atributos de usuário, você pode escolher os atributos que deseja coletar do usuário no momento da inscrição. Para este guia, selecione País/Região e Cidade.

  7. Selecione Criar. O novo fluxo de usuário aparece na lista Fluxos de usuário. Se necessário, atualize a página.

Associar o aplicativo ao fluxo do usuário

Para que os usuários do cliente vejam a experiência de inscrição ou entrada ao usar seu aplicativo, você precisa associar seu aplicativo a um fluxo de usuário. Embora muitos aplicativos possam estar associados ao fluxo do usuário, um único aplicativo só pode estar associado a um único fluxo do usuário.

  1. No menu da barra lateral, selecione Identidade.

  2. Selecione Identidades Externas e Fluxos de usuário.

  3. Na página Fluxos de usuário, selecione o Nome do fluxo de usuário criado anteriormente, por exemplo, SignInSignUpSample.

  4. Em Usar, selecione Aplicativos.

  5. Escolha Adicionar aplicativo.

  6. Selecione o aplicativo na lista, como ciam-client-app, ou use a caixa de pesquisa para localizar o aplicativo e selecioná-lo.

  7. Escolha Selecionar.

Depois de associar o aplicativo a um fluxo de usuário, é possível testar o fluxo de usuário simulando a experiência de inscrição ou entrada de um usuário com o aplicativo no centro de administração do Microsoft Entra. Para fazer isso, use as etapas em Testar seu fluxo de usuário de inscrição e entrada.

Clonar um aplicativo móvel de exemplo do Android

  1. Abra o terminal e navegue até um diretório em que deseja manter o código.

  2. Clone o aplicativo do GitHub executando o seguinte comando:

    git clone https://github.com/Azure-Samples/ms-identity-ciam-native-auth-android-sample 
    

Configurar o aplicativo móvel de exemplo do Android

  1. No Android Studio, abra o projeto clonado.

  2. Abra o arquivo app/src/main/res/raw/native_auth_sample_app_config.json.

  3. Localize o espaço reservado:

    • Enter_the_Application_Id_Here e substitua pela ID do Aplicativo (cliente) referente ao aplicativo registrado antes.
    • Enter_the_Tenant_Subdomain_Here e substitua-o pelo subdomínio diretório (locatário). Por exemplo, se o domínio primário do locatário for contoso.onmicrosoft.com, use contoso. Se você não sabe o subdomínio do seu locatário, confira como ler os detalhes do locatário.

Você acaba de configurar o aplicativo. Agora, ele está pronto para ser executado.

Executar e testar o aplicativo móvel de exemplo do Android

Para compilar e executar seu aplicativo, siga estas etapas:

  1. Na barra de ferramentas, selecione o aplicativo no menu de configurações de execução.

  2. No menu do dispositivo de destino, selecione o dispositivo no qual deseja executar seu aplicativo.

    Caso você não tenha nenhum dispositivo configurado, crie um AVD para usar o Android Emulator ou conecte um dispositivo Android físico.

  3. Selecione o botão Executar. O aplicativo abrirá a tela Email e senha de uso único.

    Captura de tela do prompt do usuário para inserir o email no aplicativo Android.

  4. Insira um endereço de email válido e selecione o botão Inscrever-se. O aplicativo abrirá a tela Enviar código e você receberá um código de senha de uso único no endereço de email.

    Captura de tela do prompt do usuário para inserir a senha de uso único no aplicativo Android.

  5. Insira o código de senha de uso único que você recebeu na caixa de entrada de email e escolha Avançar. Se a inscrição for bem-sucedida, o aplicativo conectará você automaticamente. Se você não receber o código de senha de uso único na caixa de entrada de email, reenvie-o após alguns instantes, selecionando Reenviar Senha.

    Captura de tela mostrando a entrada concluída com êxito no aplicativo Android.

  6. Para sair, selecione o botão Sair.

Outros cenários aos quais esta amostra dá suporte

Este aplicativo de exemplo também dá suporte aos seguintes fluxos de autenticação:

  • O email + senha abrange fluxos de entrada ou inscrição com um email com senha.
  • A inscrição com email + senha com atributos de usuário abrange a inscrição com email e senha e o envio de atributos de usuário.
  • A redefinição de senha abrange a SSPR (redefinição de senha self-service).
  • A API Protegida por Acesso abrange a chamada a uma API protegida depois que o usuário se inscreve ou se conecta com êxito e adquire um token de acesso.
  • O fallback para o navegador da Web abrange o uso da autenticação baseada em navegador como um mecanismo de fallback quando o usuário não pode concluir a autenticação por meio da autenticação nativa, por qualquer motivo.

Testar o fluxo de email com senha

Nesta seção, você vai testar o fluxo de email com senha, com variantes, como inscrição com email e senha com atributos de usuário e SSPR:

  1. Use as etapas descritas em Criar um fluxo do usuário para criar um fluxo do usuário, mas desta vez selecione Email com senha como o método de autenticação. Você precisa configurar País/Região e Cidade como os atributos de usuário. Como alternativa, você pode modificar o fluxo do usuário existente para usar Email com senha (selecione Identidades Externas>Fluxos do usuário>SignInSignUpSample>Provedores de identidade>Email com senha>Salvar).

  2. Use as etapas descritas em Associar o aplicativo ao novo fluxo do usuário para adicionar um aplicativo ao novo fluxo do usuário.

  3. Execute o aplicativo de exemplo e escolha o menu de reticências () para abrir mais opções.

  4. Escolha o cenário que deseja testar, como Email + senha ou Inscrição com email + senha com atributos de usuário ou Redefinição de senha e siga os prompts. Para testar a Redefinição de senha, primeiro, você precisa inscrever um usuário e habilitar a senha de uso único por email para todos os usuários do seu locatário.

Testar a chamada a um fluxo de API protegida

Use as etapas descritas em Chamar uma API Web protegida em um aplicativo móvel de exemplo do Android usando a autenticação nativa para chamar uma API Web protegida por meio de um aplicativo móvel de exemplo do Android.

Próximas etapas