Compartilhar via


Conectar usuários em um aplicativo móvel de amostra do iOS (Swift) usando a 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 a ID externa 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 um aplicativo móvel do iOS nativo de exemplo para usar seus próprios detalhes de locatário externo.
  • Execute e teste o aplicativo móvel de exemplo nativo do iOS.

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.

Associe o aplicativo Web ao fluxo de 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.

Clone o aplicativo móvel iOS de amostra

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

  2. 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
    
  3. Navegue até o diretório em que o repositório foi clonado:

    cd ms-identity-ciam-native-auth-ios-sample
    

Como configurar o aplicativo móvel iOS de amostra

  1. No Xcode, abra o projeto NativeAuthSampleApp.xcodeproj.

  2. Abra o arquivo NativeAuthSampleApp/Configuration.swift.

  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 do 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 tiver o subdomínio do locatário, saiba como ler os detalhes do locatário.

Observação

Lembre-se de selecionar um esquema para compilar e o destino em que você executa os produtos criados. Cada esquema contém uma lista de dispositivos reais ou simulados que representam os destinos disponíveis.

Como executar e testar um aplicativo móvel iOS de amostra

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 amostra no Simulador.

Captura de tela da solicitação do usuário para inserir email no aplicativo iOS.

Esse guia testa o uso de Senha única por email. Insira um endereço de email válido, selecione Inscrever-se e inicie a tela enviar código:

Captura de tela da solicitação do usuário para inserir a senha única (OTP) no aplicativo iOS.

Depois de inserir seu endereço de email na tela anterior, o aplicativo enviará um código de verificação para ele. Depois de enviar o código recebido, o aplicativo levará você de volta para a tela anterior e o conectará automaticamente.

Outros cenários aos quais essa amostra dá suporte

O aplicativo de exemplo dá suporte aos seguintes fluxos:

  • 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 iOS usando a autenticação nativa para chamar uma API Web protegida por meio de um aplicativo móvel Android de amostra.

Próximas etapas