Compartilhar via


Início Rápido: Conectar usuários em um aplicativo Web de exemplo

Aplica-se a: Círculo verde com um símbolo de marca de seleção branca que indica que o conteúdo a seguir se aplica aos locatários da força de trabalho. Locatários da força de trabalho Círculo verde com um símbolo de marca de seleção branca que indica que o conteúdo a seguir se aplica a locatários externos. Locatários externos (saiba mais)

Neste guia de início rápido, você usará um aplicativo Web de exemplo para mostrar como fazer login de usuários e chamar a API do Microsoft Graph no seu locatário corporativo. O aplicativo de exemplo usa a Biblioteca de Autenticação da Microsoft para lidar com a autenticação.

Antes de começar, use o seletor Escolher um tipo de locatário na parte superior desta página para selecionar o tipo de locatário. A ID do Microsoft Entra fornece duas configurações de locatário, força de trabalho e externo. Uma configuração de tenant de força de trabalho é para seus funcionários, aplicativos internos e outros recursos organizacionais. Um locatário externo é para seus aplicativos voltados para o cliente.

Pré-requisitos

  • Uma conta do Azure com uma assinatura ativa. Se você ainda não tiver uma, crie uma conta gratuitamente.
  • Essa conta do Azure deve ter permissões para gerenciar aplicativos. Qualquer uma das seguintes funções do Microsoft Entra inclui as permissões necessárias:
    • Administrador de aplicativos
    • Desenvolvedor de aplicativos
  • Um componente da força de trabalho. Você pode usar o Diretório Padrão ou configurar um novo locatário.
  • Visual Studio Code ou outro editor de código.
  • Registre um novo aplicativo no Centro de administração do Microsoft Entra, configurado apenas para Contas neste diretório organizacional. Consulte Registrar um aplicativo para obter mais detalhes. Registre os seguintes valores na página visão geral do aplicativo para uso posterior:
    • ID do aplicativo (cliente)
    • ID do diretório (locatário)
  • Adicione as SEGUINTEs URIs de redirecionamento usando a configuração da plataforma Web . Consulte Como adicionar um URI de redirecionamento em seu aplicativo para obter mais detalhes.
    • URI de redirecionamento: http://localhost:3000/auth/redirect
    • URL de logoff do canal frontal: https://localhost:5001/signout-callback-oidc
  • Adicione um segredo do cliente ao registro do aplicativo. Não use segredos do cliente em aplicativos de produção. Em vez disso, use certificados ou credenciais federadas. Para obter mais informações, consulte adicionar credenciais ao seu aplicativo.
  • Node.js

Clonar ou baixar um aplicativo Web de exemplo

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

  • Baixe o arquivo .zip e, em seguida, extraia-o para um caminho de arquivo em que o comprimento do nome tenha menos de 260 caracteres ou clone o repositório:

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

    git clone https://github.com/Azure-Samples/ms-identity-node.git
    

Configurar o aplicativo Web de exemplo

Para conectar usuários com o aplicativo de exemplo, você precisa atualizá-lo com seus detalhes do aplicativo e do locatário:

Na pasta ms-identity-node, abra o arquivo App/.env e substitua as seguintes variáveis:

Variable Description Exemplo(s)
Enter_the_Cloud_Instance_Id_Here A instância de nuvem do Azure na qual seu aplicativo está registrado https://login.microsoftonline.com/ (inclua a barra "/" à direita)
Enter_the_Tenant_Info_here ID do locatário ou domínio primário contoso.microsoft.com ou aaaabbbb-0000-cccc-1111-dddd2222eeee
Enter_the_Application_Id_Here ID do cliente do aplicativo que você registrou 00001111-aaaa-2222-bbbb-3333cccc4444
Enter_the_Client_Secret_Here Segredo do cliente da aplicação que você registrou A1b-C2d_E3f.H4i,J5k?L6m!N7o-P8q_R9s.T0u
Enter_the_Graph_Endpoint_Here A instância de nuvem da API do Microsoft Graph que seu aplicativo chama https://graph.microsoft.com/ (inclua a barra "/" à direita)
Enter_the_Express_Session_Secret_Here Uma cadeia aleatória de caracteres usada para assinar o cookie de sessão Express A1b-C2d_E3f.H4...

Depois de fazer alterações, o arquivo deverá ser semelhante ao seguinte snippet:

CLOUD_INSTANCE=https://login.microsoftonline.com/
TENANT_ID=aaaabbbb-0000-cccc-1111-dddd2222eeee
CLIENT_ID=00001111-aaaa-2222-bbbb-3333cccc4444
CLIENT_SECRET=A1b-C2d_E3f.H4...

REDIRECT_URI=http://localhost:3000/auth/redirect
POST_LOGOUT_REDIRECT_URI=http://localhost:3000

GRAPH_API_ENDPOINT=https://graph.microsoft.com/

EXPRESS_SESSION_SECRET=6DP6v09eLiW7f1E65B8k

Executar e testar um aplicativo Web de exemplo

Você configurou seu aplicativo de exemplo. Você pode continuar a executá-lo e testá-lo.

  1. Para iniciar o servidor, execute os seguintes comandos de dentro do diretório do projeto:

    cd App
    npm install
    npm start
    
  2. Ir para http://localhost:3000/.

  3. Selecione Entrar para iniciar o processo de entrada.

Na primeira vez que você entrar, você será solicitado a fornecer seu consentimento para permitir que o aplicativo faça login e acesse seu perfil. Depois de entrar com êxito, você será redirecionado de volta para a página inicial do aplicativo.

Como o aplicativo funciona

O exemplo hospeda um servidor Web no localhost, porta 3000. Quando um navegador da Web acessa esse endereço, o aplicativo renderiza a home page. Depois que o usuário seleciona Entrar, o aplicativo redireciona o navegador para a tela de login do Microsoft Entra, através da URL gerada pela biblioteca MSAL Node. Após o consentimento do usuário, o navegador redireciona o usuário de volta para a home page do aplicativo, juntamente com uma ID e um token de acesso.

Neste início rápido, você usará um aplicativo Web de exemplo para mostrar como conectar usuários em seu locatário externo. O aplicativo de exemplo usa a Biblioteca de Autenticação da Microsoft para lidar com a autenticação.

Antes de começar, use o seletor Escolher um tipo de locatário na parte superior desta página para selecionar o tipo de locatário. A ID do Microsoft Entra fornece duas configurações de locatário, força de trabalho e externo. Uma configuração de tenant de força de trabalho é para seus funcionários, aplicativos internos e outros recursos organizacionais. Um locatário externo é para seus aplicativos voltados para o cliente.

Pré-requisitos

Clonar ou baixar um aplicativo Web de exemplo

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 insira o seguinte comando:

    git clone https://github.com/Azure-Samples/ms-identity-ciam-javascript-tutorial.git
    
  • Como alternativa, baixe o arquivo de .zip de exemplo e, em seguida, extraia-o para um caminho de arquivo em que o comprimento do nome tenha menos de 260 caracteres.

Instale as dependências do projeto

  1. Abra uma janela do console e altere para o diretório que contém o aplicativo de exemplo Node.js:

    cd 1-Authentication\5-sign-in-express\App
    
  2. Execute os seguintes comandos para instalar as dependências do aplicativo:

    npm install
    

Configurar o aplicativo Web de exemplo

Para conectar usuários com o aplicativo de exemplo, você precisa atualizá-lo com seus detalhes do aplicativo e do locatário:

  1. No editor de código, abra o arquivo App\authConfig.js do aplicativo.

  2. Localize o marcador de posição:

    • Enter_the_Application_Id_Here e substitua pela ID de Aplicativo (Cliente) do aplicativo registrado anteriormente.
    • Enter_the_Tenant_Subdomain_Here e substitua-o pelo subdomínio do Diretório (locatário). Por exemplo, se o domínio primário da sua conta for contoso.onmicrosoft.com, use contoso. Se você não tiver o nome do locatário, saiba como ler os detalhes do locatário.
    • Enter_the_Client_Secret_Here e substitua-o pelo valor do segredo do aplicativo copiado anteriormente.

Executar e testar um aplicativo Web de exemplo

Agora você pode testar o exemplo Node.js aplicativo Web. Você precisa iniciar o servidor Node.js e acessá-lo por meio do navegador em http://localhost:3000.

  1. No terminal, execute o seguinte comando:

    npm start 
    
  2. Abra o navegador e vá para http://localhost:3000. Você deverá ver a página semelhante à seguinte captura de tela:

    Captura de tela de entrada em um aplicativo Web do Node.

  3. Depois que a página concluir o carregamento, selecione Entrar quando solicitado.

  4. Na página de entrada, digite seu Endereço de email, selecione Avançar, digite sua Senha e selecione Entrar. Se você não tiver uma conta, selecione o link Não tem uma conta? Crie uma, que iniciará o fluxo de inscrição.

  5. Se você escolher a opção de inscrição, depois de preencher seu email, senha única, nova senha e mais detalhes da conta, você concluirá todo o fluxo de inscrição. Você verá uma página semelhante à seguinte captura de tela. Você verá uma página semelhante quando escolher a opção de login.

    Captura de tela das declarações de token da ID de exibição.

  6. Selecione Sair para tirar o usuário do aplicativo Web ou selecione Exibir declarações de token de ID para exibir declarações de token de ID retornadas pelo Microsoft Entra.

Como funciona

Quando os usuários selecionam o link entrar , o aplicativo inicia uma solicitação de autenticação e redireciona os usuários para a ID Externa do Microsoft Entra. Na página de login ou de registro exibida, quando um usuário faz login com sucesso ou cria uma conta, o Microsoft Entra External ID retorna um token de ID para o aplicativo. O aplicativo valida o token de ID, lê as declarações e retorna uma página segura para os usuários.

Quando os usuários selecionam o link Sair, o aplicativo limpa sua sessão e, em seguida, redireciona o usuário para o endpoint de logout do Microsoft Entra External ID para notificá-lo de que a sessão do usuário foi encerrada.

Se você quiser criar um aplicativo semelhante ao exemplo que você executou, conclua as etapas no artigo Fazer login de usuários em seu próprio aplicativo web Node.js.