Fournisseur de proxyProxy provider

Lorsque vous utilisez le fournisseur de proxy, vous pouvez utiliser votre authentification principale (par exemple, le flux auth 2.0) pour alimenter Microsoft Graph Toolkit en acheminant tous les appels vers Microsoft Graph via votre propre serveur principal.When you use the proxy provider, you can use your backend authentication (such as Auth2.0 On-Behalf-Of flow) to power the Microsoft Graph Toolkit by routing all calls to Microsoft Graph through your own backend.

Votre service principal doit exposer une API qui sera appelée pour chaque appel à Microsoft Graph.Your backend service must expose an API that will be called for every call to Microsoft Graph. Par exemple, lorsqu’un composant tente d’obtenir une ressource, le ProxyProvider appelle à la place votre API de base et ajoute cette ressource.For example, when a component attempts to get a resource, the ProxyProvider will instead call your base API and append that resource.

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

L’implémentation de votre API doit ensuite appeler Microsoft Graph au nom de l’utilisateur et renvoyer les résultats au composant.Your API implementation should then call Microsoft Graph on behalf of the user and return the results to the component.

Pour obtenir un exemple d’implémentation, reportez-vous à l’exemple MVC ASP.net.For an implementation example, see the ASP.NET MVC sample.

Pour en savoir plus sur les fournisseurs d’authentification, consultez la rubrique fournisseurs.To learn more about authentication providers, see providers.

Prise en mainGet started

Vous pouvez initialiser le fournisseur de proxys au format HTML ou JavaScript.You can initialize the proxy provider in HTML or JavaScript. Vous ne devez effectuer cette opération qu’une seule fois par page.You should do this only once per page.

Initialiser dans votre page HTMLInitialize in your HTML page

L’initialisation du fournisseur de proxys au format HTML est la méthode la plus simple pour définir votre propre itinéraire pour l’authentification côté serveur personnalisée.Initializing the proxy provider in HTML is the simplest way to define your own route for custom server-side authentication. Utilisez le mgt-proxy-provider composant pour définir l' URL du proxy Graph.Use the mgt-proxy-provider component to set the graph-proxy-url. Cela permet de définir le fournisseur de proxy défini en tant que fournisseur global.This will set the defined proxy provider as the global provider.

<mgt-proxy-provider graph-proxy-url="https://myurl.com/api/GraphProxy"></mgt-proxy-provider>
AttributAttribute DescriptionDescription
Graph-proxy-URLgraph-proxy-url URL de base de l’API proxy.Base URL for the proxy API.

Initialiser en JavaScriptInitialize in JavaScript

Vous pouvez fournir davantage d’options en initialisant le fournisseur en JavaScript.You can provide more options by initializing the provider in JavaScript.

import {Providers, ProxyProvider} from '@microsoft/mgt'

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

Vous pouvez également envoyer des en-têtes supplémentaires à chaque demande à votre API proxy en utilisant une fonction facultative comme deuxième paramètre dans le constructeur.Optionally, you can send additional headers with each request to your proxy api by using an optional function as the second parameter in the constructor.

import {Providers, ProxyProvider} from '@microsoft/mgt'

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

Cette fonctionnalité est utile lorsque vous avez besoin de transmettre des jetons ou d’autres en-têtes à votre serveur principal.This is useful when you need to pass tokens or other headers to your backend

Si vous envisagez d' mgt-login utiliser le composant, vous devez également login spécifier logout les fonctions et pour le fournisseur :If you will be using the mgt-login component, you should also specify the login and logout functions for the provider:

import {Providers, ProxyProvider} from '@microsoft/mgt'

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;