Partilhar via


Iniciar sessão de utilizadores na aplicação móvel Android (Kotlin) de exemplo utilizando autenticação nativa

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

Neste artigo, vai aprender a:

  • Registre o aplicativo no locatário externo.
  • Habilite fluxos de autenticação nativa e de cliente público.
  • Crie fluxo de usuário no locatário externo.
  • Associe seu aplicativo ao fluxo de usuários.
  • 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 Android nativo de exemplo.

Pré-requisitos

Registar uma aplicação

Para permitir que seu aplicativo entre usuários com o Microsoft Entra, a ID Externa do Microsoft Entra deve estar ciente do aplicativo criado. O registo da aplicação estabelece uma relação de confiança entre a aplicação e o Microsoft Entra. Quando você registra um aplicativo, o ID externo 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. Entre no centro de administração do Microsoft Entra como pelo menos um desenvolvedor de aplicativos.

  2. Se tiver acesso a vários inquilinos, utilize o ícone Definições no menu superior para mudar para o inquilino externo a partir do menu Diretórios + subscrições.

  3. Navegue até Registros do aplicativo Identity>Applications>.

  4. Selecione + Novo registo.

  5. Na página Registar uma candidatura que aparece;

    1. Insira um Nome de aplicativo significativo que é exibido para os usuários do aplicativo, por exemplo, ciam-client-app.
    2. Em Tipos de conta suportados, selecione Contas somente neste diretório organizacional.
  6. Selecione Registar.

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

Habilitar fluxos de autenticação nativa e de cliente público

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

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

  2. Em Gerenciar, selecione Permissões de API. Na lista Permissões configuradas, seu aplicativo recebeu a permissão User.Read. No entanto, como o locatário é um locatário externo, os próprios usuários 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 Conceder consentimento de administrador para <o nome> do seu inquilino e, em seguida, selecione Sim.
    2. Selecione Atualizar e verifique se Concedido para <o nome> do locatário aparece em Status para ambos os escopos.

Criar um fluxo de utilizador

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

  1. Entre 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, certifique-se de usar o diretório que contém seu locatário externo:

    1. Selecione o ícone Diretórios + assinaturas na barra de ferramentas.
    2. Nas configurações do Portal | Página Diretórios + assinaturas , localize seu diretório de locatário externo na lista 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 e-mail.

    3. Em Contas de e-mail, pode selecionar uma das duas opções. Para este tutorial, selecione Enviar senha única por e-mail.

      • E-mail com senha: permite que novos usuários se inscrevam e entrem usando um endereço de e-mail como nome de login e uma senha como sua credencial de primeiro fator.
      • Senha única por e-mail: permite que novos usuários se inscrevam e entrem usando um endereço de e-mail como nome de entrada e senha única por e-mail como sua primeira credencial de fator. Para que essa opção esteja disponível no nível de fluxo do usuário, certifique-se de habilitar a OTP (código de acesso único) de email no nível do locatário (selecione Todos os Provedores de Identidade e, em seguida, para Senha única de e-mail , selecione Configurado, selecione a opção Sim e selecione 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 de usuários

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

  1. No menu da barra lateral, selecione Identidade.

  2. Selecione Identidades externas e, em seguida , 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. Selecione Adicionar aplicativo.

  6. Selecione o aplicativo na lista, como ciam-client-app , ou use a caixa de pesquisa para localizar o aplicativo e, em seguida, selecione-o.

  7. Escolha Selecionar.

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

Clone exemplo de aplicativo móvel Android

  1. Abra o Terminal e navegue até um diretório onde 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 Android de exemplo

  1. No Android Studio, abra o projeto clonado.

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

  3. Encontre o espaço reservado:

    • Enter_the_Application_Id_Heree substitua-o pelo ID do aplicativo (cliente) do aplicativo que você registrou anteriormente.
    • Enter_the_Tenant_Subdomain_Here e substitua-o pelo subdomínio Directory (locatário). Por exemplo, se o domínio principal do locatário for contoso.onmicrosoft.com, use contoso. Se não souber o subdomínio do inquilino, saiba como ler os detalhes do inquilino.

Agora você configurou o aplicativo e ele está pronto para ser executado.

Executar e testar o aplicativo móvel Android de exemplo

Para criar e executar seu aplicativo, siga estas etapas:

  1. Na barra de ferramentas, selecione seu aplicativo no menu Executar configurações.

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

    Se você não tiver nenhum dispositivo configurado, precisará criar um dispositivo virtual Android para usar o emulador Android ou conectar um dispositivo Android físico.

  3. Selecione o botão Run (Executar). O aplicativo abre a tela Email & OTP .

    Captura de tela do prompt do usuário para inserir e-mail no aplicativo Android.

  4. Introduza um endereço de e-mail válido e, em seguida, selecione o botão Inscrever-se . O aplicativo abre a tela de envio de código e você recebe um código OTP no endereço de e-mail.

    Captura de tela do prompt do usuário para inserir uma senha única no aplicativo Android.

  5. Introduza o código OTP que recebe na caixa de entrada de e-mail e selecione Seguinte. Se a inscrição for bem-sucedida, o aplicativo faz login automaticamente. Se você não receber o código OTP em sua caixa de entrada de e-mail, poderá reenviá-lo depois de um tempo, selecionando Reenviar senha.

    Captura de ecrã a mostrar o início de sessão concluído com êxito na aplicação Android.

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

Outros cenários suportados por este exemplo

Este aplicativo de exemplo também suporta os seguintes fluxos de autenticação:

  • Email + senha abrange fluxos de login ou inscrição com um e-mail com senha.
  • A inscrição por e-mail + senha com atributos de usuário abrange a inscrição com e-mail e senha e o envio de atributos de usuário.
  • A redefinição de senha abrange a redefinição de senha de autoatendimento (SSPR).
  • A API protegida de acesso abrange a chamada de uma API protegida depois que o usuário se inscreve ou entra 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 e-mail com fluxo de senha

Nesta seção, você testa e-mail com fluxo de senha, com suas variantes, tais como, e-mail com inscrição de senha com atributos de usuário e SSPR:

  1. Use as etapas em Criar um fluxo de usuário para criar um novo fluxo de usuário, mas desta vez selecione Email com senha como seu método de autenticação. Você precisa configurar País/Região e Cidade como os atributos do usuário. Como alternativa, você pode modificar o fluxo de usuário existente para usar Email com senha (Select External Identities>User flows>SignInSignUpSample>Identity providers>Email with password>Save).

  2. Use as etapas em associar o aplicativo ao novo fluxo de usuário para adicionar um aplicativo ao seu novo fluxo de usuário.

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

  4. Selecione o cenário que deseja testar, como Email + senha ou Email + inscrição de senha com atributos de usuário ou Redefinição de senha, e siga as instruções. Para testar a redefinição de senha, você precisa primeiro inscrever um usuário e habilitar a senha única de e-mail para todos os usuários em seu locatário.

Chamar de teste um fluxo de API protegido

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

Próximos passos