Iniciar sessão de utilizadores na aplicação móvel iOS (Swift) de exemplo utilizando autenticação nativa
Este guia mostra como executar um aplicativo de exemplo do iOS que demonstra cenários de inscrição, entrada, saída e redefinição de senha usando o Microsoft Entra External ID.
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 um exemplo de aplicativo móvel iOS nativo para usar seus próprios detalhes de locatário externo.
- Execute e teste o aplicativo móvel iOS nativo de exemplo.
Pré-requisitos
- XCode
- Um locatário externo. Se ainda não tiver uma, inscreva-se para uma avaliação gratuita
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:
Entre no centro de administração do Microsoft Entra como pelo menos um desenvolvedor de aplicativos.
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.
Navegue até Registros do aplicativo Identity>Applications>.
Selecione + Novo registo.
Na página Registar uma candidatura que aparece;
- Insira um Nome de aplicativo significativo que é exibido para os usuários do aplicativo, por exemplo, ciam-client-app.
- Em Tipos de conta suportados, selecione Contas somente neste diretório organizacional.
Selecione Registar.
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:
- 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:
- Em Ativar os seguintes fluxos móveis e de desktop, selecione Sim.
- Em Habilitar autenticação nativa, selecione Sim.
- Selecione o botão Salvar .
Conceder consentimento do administrador
Na página Registros de aplicativos, selecione o aplicativo que você criou (como ciam-client-app) para abrir a página Visão geral.
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:
- Selecione Conceder consentimento de administrador para <o nome> do seu inquilino e, em seguida, selecione Sim.
- 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.
Entre no centro de administração do Microsoft Entra como pelo menos um desenvolvedor de aplicativos.
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.
- 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.
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 usuário, como SignInSignUpSample.
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.
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).
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 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 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.
No menu da barra lateral, selecione Identidade.
Selecione Identidades externas e, em seguida , Fluxos de usuário.
Na página Fluxos de usuário, selecione o nome do fluxo de usuário criado 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 login.
Exemplo de clonagem de aplicativo móvel iOS
Abra o Terminal e navegue até um diretório onde deseja manter o código.
Clone o aplicativo móvel iOS do GitHub executando o seguinte comando:
git clone https://github.com/Azure-Samples/ms-identity-ciam-native-auth-ios-sample.git
Navegue até o diretório onde o repositório foi clonado:
cd ms-identity-ciam-native-auth-ios-sample
Configurar o aplicativo móvel iOS de exemplo
No Xcode, abra o projeto NativeAuthSampleApp.xcodeproj .
Abra o arquivo NativeAuthSampleApp/Configuration.swift .
Encontre o espaço reservado:
Enter_the_Application_Id_Here
e 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 forcontoso.onmicrosoft.com
, use contoso. Se não tiver o subdomínio do inquilino, saiba como ler os detalhes do inquilino.
Nota
Lembre-se de selecionar um esquema para construir e destino onde você executa os produtos construídos. Cada esquema contém uma lista de dispositivos reais ou simulados que representam os destinos disponíveis.
Executar e testar exemplo de aplicativo móvel iOS
Para criar e executar seu código, selecione Executar no menu Produto no Xcode. Após uma compilação bem-sucedida, o Xcode iniciará o aplicativo de exemplo no simulador.
Este guia testa o uso de senha única de e-mail. Insira um endereço de e-mail válido, selecione Inscrever-se e inicie a tela de envio de código:
Depois de inserir seu endereço de e-mail na tela anterior, o aplicativo enviará um código de verificação para ele. Depois de enviar o código recebido, o aplicativo leva você de volta para a tela anterior e automaticamente faz login.
Outros cenários suportados por este exemplo
O aplicativo de exemplo suporta os seguintes fluxos:
- 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:
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).
Use as etapas em associar o aplicativo ao novo fluxo de usuário para adicionar um aplicativo ao seu novo fluxo de usuário.
Execute o aplicativo de exemplo e selecione o menu de reticências (...) para abrir mais opções.
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 iOS de exemplo usando a autenticação nativa para chamar uma API da Web protegida de um aplicativo móvel Android de exemplo.