Compartilhar via


Guia de início rápido: iniciar sessão de utilizadores em um aplicativo Web de exemplo

Aplica-se a: círculo verde com um símbolo de marca de verificação branco. Inquilinos da força de trabalho círculo verde com um símbolo de marca de verificação branco. Inquilinos externos (saiba mais)

Neste início rápido, tu usas uma aplicação web de exemplo para mostrar como autenticar utilizadores e chamar a API do Microsoft Graph no teu inquilino de trabalho. A aplicação de exemplo usa a Biblioteca de Autenticação da Microsoft para manipular a autenticação.

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

Pré-requisitos

  • Uma conta do Azure com uma assinatura ativa. Se 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
    • Programador de Aplicações
  • Habitação para trabalhadores. Você pode usar seu 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 para Contas somente neste diretório organizacional. Consulte Registar uma candidatura para obter mais detalhes. Registre os seguintes valores na página Visão geral do aplicativo para uso posterior:
    • ID da aplicação (cliente)
    • ID do diretório (inquilino)
  • Adicione os 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.
    • Redirecionar URI: http://localhost:3000/auth/redirect
    • URL de término de sessão do canal frontal: https://localhost:5001/signout-callback-oidc
  • Adicione um segredo de cliente ao registro do seu aplicativo. Não use segredos de 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

Clone ou baixe 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 .zipe, em seguida, extraia-o para um caminho de arquivo onde o comprimento do nome é inferior a 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 digite o seguinte comando:

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

Configurar o aplicativo Web de exemplo

Para que possa iniciar sessão os utilizadores com a aplicação de exemplo, tem de atualizá-la com a sua aplicação e os detalhes do locatário.

Na pasta ms-identity-node, abra o ficheiro App/.env e substitua os espaços reservados seguintes:

Variável Descrição 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/ (incluir a barra diagonal final)
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 de cliente da aplicação que registou 00001111-aaaa-2222-bbbb-3333cccc4444
Enter_the_Client_Secret_Here Segredo do cliente da aplicação que você registou 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/ (incluir a barra diagonal final)
Enter_the_Express_Session_Secret_Here Uma sequência aleatória de caracteres usada para assinar o cookie de sessão Express A1b-C2d_E3f.H4...

Depois de fazer alterações, o arquivo deve ser semelhante ao seguinte trecho:

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 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. Vá para http://localhost:3000/.

  3. Selecione Iniciar sessão para iniciar o processo de início de sessão.

Na primeira vez que iniciar sessão, ser-lhe-á pedido que forneça o seu consentimento para permitir que a aplicação inicie sessão e aceda ao seu perfil. Depois de iniciar sessão com êxito, será redirecionado de volta para a página inicial da aplicação.

Como funciona a aplicação

O exemplo hospeda um servidor Web no localhost, porta 3000. Quando um navegador da Web acessa esse endereço, o aplicativo renderiza a página inicial. Assim que o utilizador seleciona Entrar, a aplicação redireciona o navegador para a página de entrada 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 página inicial do aplicativo, juntamente com um ID e token de acesso.

Neste guia de início rápido, você usa um aplicativo Web de exemplo para mostrar como autenticar utilizadores no seu inquilino externo. A aplicação de exemplo usa a Biblioteca de Autenticação da Microsoft para manipular a autenticação.

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

Pré-requisitos

Clone ou baixe 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 digite o seguinte comando:

    git clone https://github.com/Azure-Samples/ms-identity-ciam-javascript-tutorial.git
    
  • Como alternativa, baixe o .zip arquivo de exemploe depois extraia-o para um caminho de ficheiro onde o nome tem menos de 260 caracteres.

Instalar dependências do projeto

  1. Abra uma janela do console e mude 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 que possa iniciar sessão os utilizadores com a aplicação de exemplo, tem de atualizá-la com a sua aplicação e os detalhes do locatário.

  1. No editor de códigos, abra arquivo App\authConfig.js.

  2. Encontre o espaço reservado:

    • Enter_the_Application_Id_Here e substitua-o pelo ID da aplicação (cliente) da aplicação que registou anteriormente.
    • Enter_the_Tenant_Subdomain_Here e substitua-o pelo subdomínio Diretório (locatário). Por exemplo, se o domínio principal do inquilino for contoso.onmicrosoft.com, use contoso. Se não tiver o nome do inquilino, saiba como ler os detalhes do inquilino.
    • Enter_the_Client_Secret_Here e substitua-o pelo valor secreto do aplicativo copiado anteriormente.

Executar e testar aplicativo Web de exemplo

Agora pode testar a aplicação web de exemplo Node.js. Você precisa iniciar o servidor Node.js e acessá-lo através do seu navegador em http://localhost:3000.

  1. No seu terminal, execute o seguinte comando:

    npm start 
    
  2. Abra o navegador e vá para http://localhost:3000. Deverá ver uma página semelhante à captura de ecrã seguinte:

    Captura de ecrã do início de sessão numa aplicação web Node.js.

  3. Depois que o carregamento da página for concluído, selecione Entrar quando solicitado.

  4. Na página de início de sessão, escreva o seu endereço de e-mail , selecione Seguinte, escreva a sua palavra-passe e, em seguida, selecione Iniciar sessão. Se você não tiver uma conta, selecione Sem conta? Crie um link, que inicia o fluxo de inscrição.

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

    Captura de tela das declarações do token de ID.

  6. Selecione Sair para encerrar a sessão do utilizador na aplicação web ou selecione Ver informações do token de ID para ver as informações do token de ID devolvidas 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 início de sessão ou de registo exibida, quando um utilizador entra com êxito ou cria uma conta, a ID Externa do Microsoft Entra retorna um token de ID para a aplicação. 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 ponto de extremidade de saída do Microsoft Entra External ID para notificá-lo de que o usuário saiu.

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