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.
Os usuários precisam se autenticar com a ID do Microsoft Entra para que o Microsoft Graph acesse os dados organizacionais. Neste exercício, você verá como o componente do mgt-login Microsoft Graph Toolkit pode ser usado para autenticar usuários e recuperar um token de acesso. O token de acesso pode ser usado para fazer chamadas para o Microsoft Graph.
Observação
Se você for novo no Microsoft Graph, poderá saber mais sobre ele no roteiro de aprendizagem dos Conceitos Básicos do Microsoft Graph .
Neste exercício, você vai:
- Saiba como associar um aplicativo de ID do Microsoft Entra ao Kit de Ferramentas do Microsoft Graph para autenticar usuários e recuperar dados organizacionais.
- Saiba mais sobre a importância dos escopos.
- Saiba como o componente mgt-login do Kit de Ferramentas do Microsoft Graph pode ser usado para autenticar usuários e recuperar um token de acesso.
Usando o recurso de login
No exercício anterior, você criou um registro de aplicativo na ID do Microsoft Entra e iniciou o servidor de aplicativos e o servidor de API. Você também atualizou os seguintes valores no
.envarquivo (TEAM_IDeCHANNEL_IDsão opcionais):ENTRAID_CLIENT_ID=<APPLICATION_CLIENT_ID_VALUE> TEAM_ID=<TEAMS_TEAM_ID> CHANNEL_ID=<TEAMS_CHANNEL_ID>Verifique se você concluiu o exercício anterior antes de continuar.
Volte para o navegador (http://localhost:4200), selecione Entrar no cabeçalho e entre usando uma conta de usuário administrador do seu locatário do Desenvolvedor do Microsoft 365.
Dica
Entre com sua conta de administrador de locatário de desenvolvedor do Microsoft 365. Você pode exibir outros usuários no locatário do desenvolvedor acessando o Centro de administração do Microsoft 365.
Se você estiver entrando no aplicativo pela primeira vez, será solicitado que você concorde com as permissões solicitadas pelo aplicativo. Você aprenderá mais sobre essas permissões (também chamadas de "escopos") na próxima seção à medida que explora o código. Selecione Aceitar para continuar.
Depois de fazer login, você verá o nome do usuário exibido no cabeçalho.
Explorando o código de login
Agora que você entrou, vamos examinar o código usado para conectar o usuário e recuperar um token de acesso e um perfil de usuário. Você aprenderá sobre o componente web de logon mgt que faz parte do Kit de Ferramentas do Microsoft Graph.
Dica
Se você estiver usando o Visual Studio Code, poderá abrir arquivos diretamente selecionando:
- Windows/Linux: Ctrl + P
- Mac: Cmd + P
Em seguida, digite o nome do arquivo que deseja abrir.
Abra o cliente/package.json e observe que os pacotes e os
@microsoft/mgtpacotes@microsoft/mgt-componentsestão incluídos nas dependências. O@microsoft/mgtpacote contém recursos do provedor MSAL (Biblioteca de Autenticação da Microsoft) e componentes da Web, como mgt-login e outros que podem ser usados para conectar usuários e recuperar e exibir dados organizacionais.Abra o cliente/src/main.ts e observe as seguintes importações do
@microsoft/mgt-componentspacote. Os símbolos importados são usados para registrar os componentes do Microsoft Graph Toolkit usados no aplicativo.import { registerMgtLoginComponent, registerMgtSearchResultsComponent, registerMgtPersonComponent, } from '@microsoft/mgt-components';Role até a parte inferior do arquivo e observe o seguinte código:
registerMgtLoginComponent(); registerMgtSearchResultsComponent(); registerMgtPersonComponent();Esse código registra os
mgt-logincomponentes ,mgt-search-resultsemgt-personWeb e os habilita para uso no aplicativo.Para usar o componente mgt-login para conectar usuários, a ID do cliente do aplicativo Microsoft Entra ID (armazenada no arquivo .env como
ENTRAID_CLIENT_ID) precisa ser referenciada e usada.Abra graph.service.ts e localize a
init()função. O caminho completo para o arquivo é client/src/app/core/graph.service.ts. Você verá a seguinte importação e código:import { Msal2Provider, Providers, ProviderState } from '@microsoft/mgt'; init() { if (!this.featureFlags.microsoft365Enabled) return; if (!Providers.globalProvider) { console.log('Initializing Microsoft Graph global provider...'); Providers.globalProvider = new Msal2Provider({ clientId: ENTRAID_CLIENT_ID, scopes: ['User.Read', 'Presence.Read', 'Chat.ReadWrite', 'Calendars.Read', 'ChannelMessage.Read.All', 'ChannelMessage.Send', 'Files.Read.All', 'Mail.Read'] }); } else { console.log('Global provider already initialized'); } }Esse código cria um novo
Msal2Providerobjeto, passando a ID do cliente da ID do Microsoft Entra do registro do aplicativo e o para oscopesqual o aplicativo solicitará acesso. Elesscopessão usados para solicitar acesso aos recursos do Microsoft Graph que o aplicativo acessará. Depois que oMsal2Providerobjeto é criado, ele é atribuído aoProviders.globalProviderobjeto, que é usado pelos componentes do Microsoft Graph Toolkit para recuperar dados do Microsoft Graph.Abra header.component.html no editor e localize o componente mgt-login . O caminho completo para o arquivo é client/src/app/header/header.component.html.
@if (this.featureFlags.microsoft365Enabled) { <mgt-login class="mgt-dark" (loginCompleted)="loginCompleted()"></mgt-login> }O componente mgt-login habilita a entrada do usuário e fornece acesso a um token que é usado com o Microsoft Graph. Após a entrada bem-sucedida, o evento é disparado, o
loginCompletedque chama aloginCompleted()função. Embora o mgt-login seja usado em um componente Angular neste exemplo, ele é compatível com qualquer aplicativo Web.A exibição do componente mgt-login depende do
featureFlags.microsoft365Enabledvalor que está sendo definido comotrue. Esse sinalizador personalizado verifica a presença da variável de ambiente para confirmar se o aplicativo está configurado corretamente e pode ser autenticado na ID doENTRAID_CLIENT_IDMicrosoft Entra. O sinalizador é adicionado para acomodar casos em que os usuários optam por concluir apenas os exercícios de IA ou Comunicação dentro do tutorial, em vez de seguir toda a sequência de exercícios.Abra header.component.ts e localize a
loginCompletedfunção. Essa função é chamada quando ologinCompletedevento é emitido e manipula a recuperação do perfil do usuário conectado usandoProviders.globalProvider.async loginCompleted() { const me = await Providers.globalProvider.graph.client.api('me').get(); this.userLoggedIn.emit(me); }Neste exemplo, uma chamada está sendo feita para a API do Microsoft Graph
mepara recuperar o perfil do usuário (merepresenta o usuário conectado atual). Athis.userLoggedIn.emit(me)instrução de código emite um evento do componente para passar os dados de perfil para o componente pai. O componente pai é app.component.ts arquivo nesse caso, que é o componente raiz do aplicativo.Para saber mais sobre o componente mgt-login , visite a documentação do Kit de Ferramentas do Microsoft Graph .
Agora que você fez logon no aplicativo, vamos ver como os dados organizacionais podem ser recuperados.