代理服务器提供商

警告

Microsoft Graph 工具包已弃用。 停用期从 2025 年 9 月 1 日开始,计划于 2026 年 8 月 28 日完全停用。 开发人员应迁移到使用 Microsoft Graph SDK 或其他受支持的Microsoft Graph 工具来构建 Web 体验。 有关详细信息,请参阅 弃用公告

使用代理提供程序时,可以使用后端身份验证 ((如 Auth2.0 代理流) )通过自己的后端路由到 Microsoft Graph 的所有调用来为 Microsoft Graph 工具包提供支持。

后端服务必须公开每次调用 Microsoft Graph 时调用的 API。 例如,当组件尝试获取资源时,ProxyProvider 会改为调用基 API 并追加该资源。

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

然后,API 实现应代表用户调用 Microsoft Graph,并将结果返回给组件。

有关实现示例,请参阅 ASP.NET MVC 示例

若要详细了解身份验证提供程序,请参阅 提供程序

入门

可以使用 HTML 或 JavaScript 初始化代理提供程序。 每页只应执行一次。

在 HTML 页中初始化

在 HTML 中初始化代理提供程序是定义自己的自定义服务器端身份验证路由的最简单方法。 mgt-proxy-provider使用 组件设置 graph-proxy-url。 它将定义的代理提供程序设置为全局提供程序。

<mgt-proxy-provider
  graph-proxy-url="https://myurl.com/api/GraphProxy"
></mgt-proxy-provider>
属性 说明
graph-proxy-url 代理 API 的基 URL。

在 JavaScript 中初始化

可以通过在 JavaScript 中初始化提供程序来提供更多选项。

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

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

(可选)可以将每个请求的其他标头发送到代理 API,方法是使用可选函数作为构造函数中的第二个参数。

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",
    };
  }
);

当需要将令牌或其他标头传递到后端时,此功能非常有用。

如果使用的是 mgt-login 组件,还应为提供程序指定 loginlogout 函数:

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;