Iniciar sessão de utilizadores na aplicação Android de exemplo (Kotlin) utilizando autenticação nativa
Aplica-se a: locatários do Workforce
Locatários externos (saber mais)
Neste guia de início rápido, você aprenderá a executar um aplicativo de exemplo do Android que demonstra cenários de inscrição, entrada, saída e redefinição de senha usando o de autenticação nativodo Microsoft Entra.
Pré-requisitos
- Android Studio.
- Um locatário externo. Se você ainda não tiver um, inscreva-se para uma avaliação gratuita.
Registar uma candidatura
Para que a sua aplicação possa autenticar utilizadores com o Microsoft Entra, é necessário que o Microsoft Entra External ID reconheça a aplicação. 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, a ID externa 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:
Entre no centro de administração do Microsoft Entra como, no mínimo, um Programador de Aplicações .
Se tiver acesso a vários inquilinos, utilize o ícone Definições
no menu superior para mudar para o seu inquilino externo a partir do menu Diretórios + subscrições.
Navegue até Identidade>Aplicativos>Registros de aplicativos.
Selecione + Novo registo.
Na página de Registo de uma aplicação que aparece;
- Insira um nome significativo de aplicação Nome que será exibido para os utilizadores da aplicação, por exemplo, ciam-client-app.
- Em Tipos de conta suportados, selecione Apenas contas neste diretório organizacional.
Selecione Registrador.
O painel Visão Geral do aplicativo é exibido após o registo 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:
- 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.
- Em Gerir, selecione Autenticação.
- Em Configurações avançadas, permita fluxos de clientes públicos:
- Para Habilite os seguintes fluxos móveis e de desktop selecione Sim.
- Para Ativar autenticação nativa, selecione Sim.
- Selecione o botão Salvar.
Conceder consentimento de administrador
Depois de registrar seu aplicativo, ele recebe a permissão User.Read. No entanto, como o locatário é um locatário externo, os próprios usuários do cliente não podem consentir com essa permissão. Você, como administrador do locatário, deve consentir com essa permissão em nome de todos os usuários no locatário:
Na página registros do aplicativo, selecione o aplicativo que você criou (como ciam-client-app) para abrir sua página Visão geral.
Em Gerenciar, selecione permissões de API.
- Selecione Conceder consentimento de administrador para <o nome do seu inquilino>e, em seguida, selecione Sim.
- Selecione Atualizare, em seguida, verifique se Concedido para <o nome do locatário> aparece em Status para a permissão.
Criar um fluxo de usuário
Siga estas etapas para criar um fluxo de usuário.
Entre no centro de administração do Microsoft Entra como pelo menos um Desenvolvedor de Aplicações.
Se você tiver acesso a vários locatários, certifique-se de usar o diretório que contém seu locatário externo:
- Selecione o ícone Diretórios + assinaturas na barra de ferramentas.
- No Configurações do Portal | Diretórios + assinaturas página, localize o seu diretório de inquilino externo na lista Nome do diretório e, em seguida, selecione Mudar.
No menu da barra lateral, selecione Identidade.
Selecione Identidades Externas>Fluxos de usuário.
Selecione + Novo fluxo de usuário.
Na página Criar:
Insira um Nome para o fluxo de utilizador, como SignInSignUpSample.
Na lista de Provedores de Identidade , selecione Contas de E-mail. Esse provedor de identidade permite que os usuários entrem ou se inscrevam usando seu endereço de e-mail.
Em Contas de e-mail, você pode selecionar uma das duas opções. Para este tutorial, selecione código de acesso único por e-mail.
- Email 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.
- Código de acesso único por email: Permite que novos utilizadores se inscrevam e entrem usando um endereço de e-mail como nome de login e um código de acesso único por e-mail como sua credencial de primeiro fator. Para que esta opção esteja disponível ao nível do fluxo de utilizador, certifique-se de que ativa a OTP (código de acesso único) de e-mail ao nível do inquilino (selecione Todos os Fornecedores de Identidadee, em seguida, para Código de acesso único de e-mail selecione Configurado, selecione a opção Sim e, em seguida, selecione Guardar).
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.
Selecione Criar. O novo fluxo de utilizador aparece na lista Fluxos de utilizador. Se necessário, atualize a página.
Associar o aplicativo ao fluxo de usuários
Para que os clientes vejam a experiência de registro ou início de sessão quando usam a sua aplicação, precisa associar a sua aplicação a um fluxo de utilizador. 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.
No menu da barra lateral, selecione Identidade.
Selecione Identidades Externase, em seguida, Fluxos de usuário.
Na página Fluxos de utilizador, selecione o nome do fluxo de utilizador que criou anteriormente, por exemplo, SignInSignUpSample.
Em Usar, selecione Aplicativos.
Selecione Adicionar aplicativo.
Selecione o aplicativo na lista, como ciam-client-app, ou use a caixa de pesquisa para localizar o aplicativo e, em seguida, selecione-o.
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 entrada.
Clone exemplo de aplicativo móvel Android
Abra o Terminal e navegue até um diretório onde deseja manter o código.
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
No Android Studio, abra o projeto clonado.
Abra arquivo denative_auth_sample_app_config.json app/src/main/res/raw/.
Encontre o espaço reservado:
-
Enter_the_Application_Id_Here
e substitua-o pelo ID de Aplicação (cliente) da aplicação que registou anteriormente. -
Enter_the_Tenant_Subdomain_Here
e substitua-o pelo subdomínio Directory (inquilino). Por exemplo, se o domínio principal do inquilino forcontoso.onmicrosoft.com
, usecontoso
. 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:
Na barra de ferramentas, selecione seu aplicativo no menu Executar configurações.
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.
Selecione o botão Executar. A aplicação abre a tela de Email & OTP.
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.
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.
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 + palavra-passe abrange fluxos de início de sessão ou de inscrição com um e-mail com palavra-passe.
- inscrição Email + senha com atributos de usuário abrange a inscrição com e-mail e senha e o envio de atributos de usuário.
- Redefinição de palavra-passe abrange a redefinição de palavra-passe de autoatendimento (SSPR).
- A API Protegida de Acesso abrange a chamada a uma API protegida depois de o utilizador se inscrever ou iniciar sessão com sucesso e adquirir um token de acesso.
- de 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:
Use as etapas em para criar um fluxo de utilizador e criar um novo fluxo de utilizador, mas desta vez selecione Email com senha como o seu método de autenticação. Você precisa configurar de País/Região e Cidade como atributos de usuário. Como alternativa, você pode modificar o fluxo de usuário existente para usar Email com senha (Selecione Identidades Externas>Fluxos de usuário>SignInSignUpSample>Provedores de identidade>Email com senha>Salvar).
Use as etapas em associar o aplicativo ao novo fluxo de usuário para adicionar um aplicativo ao seu novo fluxo de usuário.
Corra a aplicação de exemplo e selecione o menu de opções (...) para abrir mais opções.
Selecione o cenário que deseja testar, como Email + senha ou inscrição Email + senha com atributos de usuário ou Redefinição de senhae, em seguida, siga as instruções. Para testar de redefinição de senha, você precisa primeiro inscrever um usuário e habilitar de senha única de e-mail para todos os usuários em seu locatário.
Executar um teste numa chamada de API protegida
Use as etapas em para chamar uma API da Web protegida de um aplicativo móvel Android de exemplo usando autenticação nativa.