Provedor de proxy

Cuidado

O Microsoft Graph Toolkit foi preterido. O período de aposentadoria começa em 1º de setembro de 2025, com aposentadoria total planejada para 28 de agosto de 2026. Os desenvolvedores devem migrar para o uso dos SDKs do Microsoft Graph ou outras ferramentas do Microsoft Graph com suporte para criar experiências na Web. Para obter mais informações, consulte o anúncio de substituição.

Ao usar o provedor de proxy, você pode usar sua autenticação de back-end (como o fluxo On-Behalf-Of do Auth2.0) para alimentar o Microsoft Graph Toolkit roteando todas as chamadas para o Microsoft Graph por meio de seu próprio back-end.

Seu serviço de back-end deve expor uma API que é chamada para cada chamada para o Microsoft Graph. Por exemplo, quando um componente tenta obter um recurso, o ProxyProvider chama sua API base e acrescenta esse recurso.

https://graph.microsoft.com/v1.0/me => https://myurl.com/api/GraphProxy/v1.0/me

Sua implementação de API deve então chamar o Microsoft Graph em nome do usuário e retornar os resultados para o componente.

Para obter um exemplo de implementação, consulte o exemplo ASP.NET MVC.

Para saber mais sobre provedores de autenticação, consulte provedores.

Introdução

Você pode inicializar o provedor de proxy em HTML ou JavaScript. Você deve fazer isso apenas uma vez por página.

Inicializar em sua página HTML

Inicializar o provedor de proxy em HTML é a maneira mais simples de definir sua própria rota para autenticação personalizada do lado do servidor. Use o mgt-proxy-provider componente para definir o graph-proxy-url. Ele define o provedor de proxy definido como o provedor global.

<mgt-proxy-provider
  graph-proxy-url="https://myurl.com/api/GraphProxy"
></mgt-proxy-provider>
Atributo Descrição
graph-proxy-url URL base para a API de proxy.

Inicializar no JavaScript

Você pode fornecer mais opções inicializando o provedor em JavaScript.

import { Providers } from "@microsoft/mgt-element";
import { ProxyProvider } from "@microsoft/mgt-proxy-provider";

Providers.globalProvider = new ProxyProvider(
  "https://myurl.com/api/GraphProxy"
);

Opcionalmente, você pode enviar cabeçalhos adicionais com cada solicitação para sua api proxy usando uma função opcional como o segundo parâmetro no construtor.

import { Providers } from "@microsoft/mgt-element";
import { ProxyProvider } from "@microsoft/mgt-proxy-provider";

Providers.globalProvider = new ProxyProvider(
  "https://myurl.com/api/GraphProxy",
  async () => {
    return {
      header: "value",
      header2: "value2",
    };
  }
);

É útil quando você precisa passar tokens ou outros cabeçalhos para o seu back-end.

Se você estiver usando o mgt-login componente, também deverá especificar as login funções and logout para o provedor:

import { Providers } from "@microsoft/mgt-element";
import { ProxyProvider } from "@microsoft/mgt-proxy-provider";

let provider = new ProxyProvider("https://myurl.com/api/GraphProxy");
provider.login = () => {
  /* will be called when "Sign In" is clicked */
};
provider.logout = () => {
  /* will be called when "Sign Out" is called */
};

Providers.globalProvider = provider;