ການເອີ້ນ 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 ນີ້ໄດ້.

ບົດຄວາມທີ່ກ່ຽວຂ້ອງ