Conectar usuários em um aplicativo macOS (Swift) de exemplo usando a autenticação nativa
Este guia mostra como executar um aplicativo macOS de exemplo que demonstra cenários de inscrição e entrada 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 macOS nativo de exemplo para usar seus próprios detalhes de locatário externo.
- Execute e teste o aplicativo macOS nativo de exemplo.
Pré-requisitos
- Xcode
- Um locatário externo. Se você ainda não tiver um, inscreva-se para uma avaliação gratuita.
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:
Faça login no Centro de administração do Microsoft Entra como pelo menos um Desenvolvedor de aplicativos.
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.
Navegue até Identidade>Aplicativos>Registros do aplicativo.
Selecione + Novo Registro.
Na página Registrar um aplicativo que aparece;
- Insira um Nome de aplicativo relevante que será exibido aos usuários do aplicativo, por exemplo,ciam-client-app.
- Em Tipos de contas com suporte, selecione Contas somente neste diretório organizacional.
Selecione Registrar.
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:
- 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.
- Em Gerenciar, selecione Autenticação.
- Em Configurações avançadas, permita os fluxos do cliente público:
- Em Habilitar os seguintes fluxos móveis e de desktop, selecione Sim.
- Em Habilitar a autenticação nativa, escolha Sim.
- Selecione o botão Salvar.
Conceder consentimento do administrador
Na página Registros de 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. 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:
- Selecione Dar consentimento de administrador para <nome do seu locatário> e selecione Sim.
- 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.
Faça login no Centro de administração do Microsoft Entra como pelo menos um Desenvolvedor de aplicativos.
Se você tiver acesso a vários locatários, use o diretório que contém seu locatário externo:
- Selecione o ícone Diretórios + assinaturas na barra de ferramentas.
- 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.
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 email e senha.
Em Contas de email, você pode selecionar uma das duas opções. Para este tutorial, selecione Email com senha.
- Email com senha: permite que novos usuários se inscrevam e criem conta 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).
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.
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.
No menu da barra lateral, selecione Identidade.
Selecione Identidades Externas e 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.
Escolha Adicionar aplicativo.
Selecione o aplicativo na lista, como ciam-client-app, ou use a caixa de pesquisa para localizar o aplicativo e selecioná-lo.
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 o aplicativo macOS de exemplo
Abra o terminal e navegue até um diretório em que deseja manter o código.
Clone o aplicativo macOS do GitHub ao executar o seguinte comando:
git clone https://github.com/Azure-Samples/ms-identity-ciam-native-auth-macos-sample.git
Navegue até o diretório em que o repositório foi clonado:
cd ms-identity-ciam-native-auth-macos-sample
Configurar o aplicativo macOS de exemplo
No Xcode, abra o projeto NativeAuthSampleAppMacOS.xcodeproj.
Abra o arquivo NativeAuthSampleAppMacOS/Configuration.swift.
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 forcontoso.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.
Executar e testar o aplicativo macOS de exemplo
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.
Esse guia testa o uso de email e senha. Insira um endereço de email e senha válidos, selecione Inscrever-se e inicie a tela de enviar código:
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.