ຕັ້ງຄ່າ proxy ສຳລັບ Microsoft Graph SDK v5 ແລະ Azure Identity
ຕັ້ງຄ່າການຂົນສົ່ງ Graph API ແລະ ການຂົນສົ່ງ ClientSecretCredential ໃນເວລາເລີ່ມຕົ້ນ ເພື່ອໃຫ້ທັງຄຳຮ້ອງ API ແລະ ຄຳຮ້ອງ token ມີເສັ້ນທາງ.
ການເອີ້ນ Graph API ແລະ ຄຳຮ້ອງ token ຂອງ ClientSecretCredential ມີຈຸດເຂົ້າການຂົນສົ່ງແຍກກັນ. ກັບ Microsoft.Graph 5 ແລະ Azure.Identity, ຕັ້ງຄ່າທັງສອງກ່ອນສ້າງ client:
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 ສາທາລະນະທີ່ບໍ່ມີການຢືນຢັນ ລາຍການ proxy HTTP ໃຫ້ທີ່ຢູ່ຜູ້ສະໝັກສຳລັບ WebProxy ທີ່ແບ່ງປັນ. ແອັບຯສະໜອງ tenantId, clientId ແລະ clientSecret ຜ່ານການຈັດການຂໍ້ມູນຮັບຮອງທີ່ມີຢູ່. ຂອບເຂດ .default ໃຊ້ສິດອະນຸຍາດແອັບຯທີ່ຕັ້ງຄ່າສຳລັບການລົງທະບຽນນັ້ນ; ເສັ້ນທາງບໍ່ສາມາດໃຫ້ສິດອະນຸຍາດໄດ້.
ອ່ານສອງແຖວການຂົນສົ່ງເປັນຄູ່ທີ່ສຳຄັນ. HttpClientTransport(tokenHandler) ຂົນສົ່ງຄຳຮ້ອງ token ຂອງຂໍ້ມູນຮັບຮອງ. GraphClientFactory.Create(proxy: proxy) ຮັກສາການສ້າງ middleware HTTP ຂອງ Graph SDK ພ້ອມກັບຕັ້ງຄ່າເສັ້ນທາງ API ຂອງມັນ.
ຖ້າຕົວກາງຕ້ອງການການຢືນຢັນ ໃຫ້ກຳນົດບັນຊີທີ່ຕ້ອງການໃສ່ Credentials ຂອງວັດຖຸ proxy. ເກັບການຂົນສົ່ງທີ່ເປັນເຈົ້າຂອງໄວ້ຕະຫຼອດອາຍຸຂອງອົງປະກອບ ແລະ ປ່ອຍພວກມັນເມື່ອປິດ.
ໃຊ້ຮູບແບບນີ້ກັບລຸ້ນ SDK ທີ່ກ່າວໄວ້. ຕົວຢ່າງກັບ HttpProvider ແລະ DelegateAuthenticationProvider ເປັນຂອງລຸ້ນກ່ອນ ແລະ ບໍ່ສາມາດປົນເຂົ້າໃນລະບົບ constructor ນີ້ໄດ້.