Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Aplica-se a:
Locatários da força de trabalho
Locatários externos (saiba mais)
Neste tutorial, você aprenderá a criar um aplicativo Web node/Express.js que insere usuários em um aplicativo voltado para o cliente em um locatário externo ou funcionários em um locatário da força de trabalho. O tutorial também demonstra como adquirir um token de acesso para chamar a API do Microsoft Graph.
Este tutorial é a parte 1 de uma série de 3 partes.
Neste tutorial, você irá;
- Configurar um projeto de Node.js
- Instalar dependências
- Adicionar exibições de aplicativo e componentes da interface do usuário
Pré-requisitos
- 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
-
URI de redirecionamento:
- 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.
- Visual Studio Code ou outro editor de código.
Criar o projeto Node.js
Em um local de escolha no computador, crie uma pasta para hospedar seu aplicativo de nó, como ciam-sign-in-node-express-web-app.
No terminal, altere o diretório para a pasta do aplicativo Web Node, como
cd ciam-sign-in-node-express-web-app, em seguida, execute o seguinte comando para criar um novo projeto de Node.js:npm init -yO
init -ycomando cria um arquivo depackage.json padrão para seu projeto de Node.js.Crie pastas e arquivos adicionais para obter a seguinte estrutura de projeto:
ciam-sign-in-node-express-web-app/ ├── server.js └── app.js └── authConfig.js └── package.json └── .env └── auth/ └── AuthProvider.js └── controller/ └── authController.js └── routes/ └── auth.js └── index.js └── users.js └── views/ └── layouts.hbs └── error.hbs └── id.hbs └── index.hbs └── public/stylesheets/ └── style.css
Instalar dependências de aplicativo
Para instalar a identidade necessária e Node.js pacotes npm relacionados, execute o comando a seguir em seu terminal
npm install express dotenv hbs express-session axios cookie-parser http-errors morgan @azure/msal-node
Compilar componentes da interface do usuário do aplicativo
No editor de código, abra o arquivo views/index.hbs e adicione o seguinte código:
<h1>{{title}}</h1> {{#if isAuthenticated }} <p>Hi {{username}}!</p> <a href="/users/id">View ID token claims</a> <br> <a href="/auth/signout">Sign out</a> {{else}} <p>Welcome to {{title}}</p> <a href="/auth/signin">Sign in</a> {{/if}}Nesse modo de exibição, se o usuário for autenticado, mostraremos seu nome de usuário e links para visitar
/auth/signoute/users/idpontos de extremidade, caso contrário, o usuário precisará visitar o/auth/signinponto de extremidade para entrar. Definimos as rotas expressas para esses pontos de extremidade posteriormente neste artigo.No editor de código, abra o arquivo views/id.hbs e adicione o seguinte código:
<h1>Azure AD for customers</h1> <h3>ID Token</h3> <table> <tbody> {{#each idTokenClaims}} <tr> <td>{{@key}}</td> <td>{{this}}</td> </tr> {{/each}} </tbody> </table> <a href="/">Go back</a>Usamos essa exibição para exibir declarações de token de ID que a ID Externa do Microsoft Entra retorna para este aplicativo depois que um usuário entra com êxito.
No editor de código, abra o arquivo views/error.hbs e adicione o seguinte código:
<h1>{{message}}</h1> <h2>{{error.status}}</h2> <pre>{{error.stack}}</pre>Usamos essa exibição para exibir os erros que ocorrem quando o aplicativo é executado.
No editor de código, abra o arquivo views/layout.hbs e adicione o seguinte código:
<!DOCTYPE html> <html> <head> <title>{{title}}</title> <link rel='stylesheet' href='/stylesheets/style.css' /> </head> <body> {{{content}}} </body> </html>O
layout.hbsarquivo está no arquivo de layout. Ele contém o código HTML que exigimos em toda a exibição do aplicativo.No editor de código, abra public/stylesheets/style.css, arquivo e adicione o seguinte código:
body { padding: 50px; font: 14px "Lucida Grande", Helvetica, Arial, sans-serif; } a { color: #00B7FF; }