Microsoft Graph SDK v5 болон Azure Identity-д зориулсан прокси тохируулах
Эхлүүлэх үед Graph API-ийн дамжуулалт болон ClientSecretCredential-ийн дамжуулалтыг тохируулж, API болон токен хүсэлт хоёулаа замтай байх болно.
Graph API дуудлага болон ClientSecretCredential-ийн токен хүсэлтүүд нь дамжуулалтын тусдаа орох цэгтэй. Microsoft.Graph 5 болон Azure.Identity-тэй клиентийг үүсгэхийн өмнө хоёуланг нь тохируулна уу:
var proxy = new System.Net.WebProxy(
"http://proxy.example.net:8080");
var tokenHandler = new System.Net.Http.HttpClientHandler
{
Proxy = proxy,
UseProxy = true
};
var credentialOptions = new Azure.Identity.ClientSecretCredentialOptions
{
Transport = new Azure.Core.Pipeline.HttpClientTransport(tokenHandler)
};
var credential = new Azure.Identity.ClientSecretCredential(
tenantId, clientId, clientSecret, credentialOptions);
var authProvider =
new Microsoft.Kiota.Authentication.Azure.AzureIdentityAuthenticationProvider(
credential, scopes: new[] { "https://graph.microsoft.com/.default" });
var graphHttp = Microsoft.Graph.GraphClientFactory.Create(proxy: proxy);
var graphClient = new Microsoft.Graph.GraphServiceClient(
graphHttp, authProvider);Баталгаажаагүй нийтийн HTTP замын хувьд HTTP прокси жагсаалт нь хуваалцсан WebProxy-д нэр дэвшигч хаягуудыг санал болгодог. Аппликейшн tenantId, clientId болон clientSecret-ийг өөрийн одоо байгаа итгэмжлэлийн боловсруулалтаар дамжуулж өгдөг. .default хамрах хүрээ нь тухайн бүртгэлд тохируулсан аппликейшны зөвшөөрлийг ашигладаг; зам зөвшөөрөл олгож чадахгүй.
Хоёр дамжуулалтын мөрийг чухал хос гэж уншина уу. HttpClientTransport(tokenHandler) нь итгэмжлэлийн токен хүсэлтийг зөөдөг. GraphClientFactory.Create(proxy: proxy) нь Graph SDK-ийн HTTP завсрын программын бүтцийг хадгалж, API замыг тохируулдаг.
Хэрэв завсрын холбоос баталгаажуулалт шаардвал шаардлагатай бүртгэлийг прокси объектын Credentials шинж чанарт онооно уу. Өөрийн эзэмшлийн дамжуулалтыг компонентийн амьдралын турш хадгалан, унтраах үед чөлөөлнө үү.
Энэ загварыг заасан SDK үеийн хамт ашиглана уу. HttpProvider болон DelegateAuthenticationProvider жишээнүүд нь өмнөх үеийнх бөгөөд энэ конструкторын гинжид хольж болохгүй.