Partilhar via


Iniciar sessão de utilizadores numa aplicação de página única Angular de exemplo

Este guia de instruções usa um exemplo de aplicativo de página única (SPA) Angular para demonstrar como adicionar usuários de autenticação a um SPA. O SPA permite que os usuários entrem e saiam usando seu locatário externo. O exemplo usa a Biblioteca de Autenticação da Microsoft para JavaScript (MSAL.js) para manipular a autenticação.

Pré-requisitos

Registar o SPA no centro de administração do Microsoft Entra

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.

Para especificar o tipo de aplicativo para o registro do aplicativo, siga estas etapas:

  1. Em Gerir, selecione Autenticação
  2. Na página Configurações da plataforma, selecione Adicionar uma plataforma e, em seguida, selecione Aplicativo de página única.
  3. Para os URIs de redirecionamento, digite http://localhost:4200/.
  4. Selecione Configurar para salvar as alterações.
  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 que um cliente pode usar para entrar ou se inscrever em um aplicativo.

  1. Entre no centro de administração do Microsoft Entra como pelo menos um Administrador de Fluxo de Usuário de ID Externo.

  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é Identidades> externas Fluxos>de usuário.

  4. Selecione + Novo fluxo de usuário.

  5. 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.

      Nota

      Provedores de identidade adicionais serão listados aqui somente depois que você configurar a federação com eles. Por exemplo, se você configurar a federação com o Google ou o Facebook, poderá selecionar esses provedores de identidade adicionais aqui.

    3. Em Contas de e-mail, pode selecionar uma das duas opções. Para este tutorial, selecione E-mail com senha.

      • 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 de 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 de e-mail como sua credencial de primeiro fator. A senha única de e-mail deve ser habilitada no nível do locatário (All Identity Providers>Email One-time-passcode) para que essa opção esteja disponível no nível do fluxo do usuário.
    4. Em Atributos de usuário, escolha os atributos que você deseja coletar do usuário no momento da inscrição. Ao selecionar Mostrar mais, você pode escolher atributos e declarações para País/Região, Nome para exibição e Código Postal. Selecione OK. (Os usuários só são solicitados a fornecer atributos quando se inscrevem pela primeira vez.)

  6. Selecione Criar. O novo fluxo de usuário aparece na lista Fluxos de usuário. Se necessário, atualize a página.

Para habilitar a redefinição de senha de autoatendimento, use as etapas no artigo Habilitar redefinição de senha de autoatendimento.

Associar o SPA ao fluxo de usuários

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. Um fluxo de usuário permite a configuração da experiência do usuário para aplicativos específicos. Por exemplo, você pode configurar um fluxo de usuário que exija que os usuários entrem ou se inscrevam com o endereço de email.

  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.

Clone ou baixe SPA de amostra

Para obter o aplicativo de exemplo, você pode cloná-lo do GitHub ou baixá-lo como um arquivo .zip.

  • Para clonar o exemplo, abra um prompt de comando e navegue até onde deseja criar o projeto e digite o seguinte comando:

    git clone https://github.com/Azure-Samples/ms-identity-ciam-javascript-tutorial.git
    
  • Faça o download do exemplo. Extraia-o para um caminho de arquivo onde o comprimento do nome é inferior a 260 caracteres.

Instalar dependências do projeto

  1. Abra uma janela de terminal no diretório raiz do projeto de exemplo e insira o seguinte trecho para navegar até a pasta do projeto:

    cd 1-Authentication\2-sign-in-angular\SPA
    
  2. Instale as dependências do projeto:

    npm install
    

Configurar o SPA de exemplo

  1. Abra SPA/src/app/auth-config.ts e substitua o seguinte pelos valores obtidos no centro de administração do Microsoft Entra:

    • 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 for contoso.onmicrosoft.com, use contoso. Se não tiver o nome do inquilino, saiba como ler os detalhes do inquilino.
  2. Guarde o ficheiro.

Execute o seu projeto e inicie sessão

Todos os trechos de código necessários foram adicionados, então o aplicativo agora pode ser chamado e testado em um navegador da web.

  1. Abra um novo terminal selecionando Terminal>New Terminal.

  2. Execute o seguinte comando para iniciar o servidor Web.

    cd 1-Authentication\2-sign-in-angular\SPA
    npm start
    
  3. Abra um browser e navegue para http://localhost:4200/.

  4. Inicie sessão com uma conta registada no inquilino externo.

  5. Depois de entrar com êxito, o nome para exibição é mostrado ao lado do botão Sair .