При использовании поставщика прокси-сервера вы можете использовать серверную проверку подлинности (например, поток Auth2.0 On-Behalf-Of) для включения microsoft Graph Toolkit путем маршрутизации всех вызовов к Microsoft Graph через собственную серверную часть.
Серверная служба должна предоставлять API, который будет вызываться для каждого вызова Microsoft Graph. Например, когда компонент пытается получить ресурс, ProxyProvider вместо этого вызовет базовый API и добавит этот ресурс.
Дополнительные сведения о поставщиках проверки подлинности см. в статье Поставщики.
Начало работы
Поставщик прокси-сервера можно инициализировать с помощью HTML или JavaScript. Это следует делать только один раз для каждой страницы.
Инициализация на HTML-странице
Инициализация поставщика прокси-сервера в ФОРМАТЕ HTML — это самый простой способ определения собственного маршрута для пользовательской проверки подлинности на стороне сервера. Используйте компонент , mgt-proxy-provider чтобы задать url-адрес graph-proxy-url. Это позволит задать определенный поставщик прокси-сервера в качестве глобального поставщика.
Дополнительные параметры можно предоставить, инициализировав поставщик в 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 использовать компонент, следует также указать login функции и logout для поставщика:
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;
Присоединитесь к серии встреч для создания масштабируемых решений искусственного интеллекта на основе реальных вариантов использования с другими разработчиками и экспертами.