მიაწოდეთ MSAL.NET-ს მრავალჯერადად გამოყენებადი პროქსი კლიენტი
განახორციელეთ IMsalHttpClientFactory საერთო პროქსი-გრძნობიერი HttpClient-ის გარშემო და მიამაგრეთ იგი MSAL აპლიკაციის ამგებელს.
MSAL.NET-ს შეუძლია მიიღოს თავისი HTTP ტრანსპორტი IMsalHttpClientFactory-დან. შემოახვიეთ პროქსისთვის კონფიგურირებული კლიენტი:
sealed class TokenHttpFactory : IMsalHttpClientFactory
{
private readonly HttpClient client;
public TokenHttpFactory(HttpClient client)
{
this.client = client;
}
public HttpClient GetHttpClient() => client;
}შექმენით დამმუშავებელი და კლიენტი ერთხელ აპლიკაციის სიცოცხლის განმავლობაში, შემდეგ მიამაგრეთ ფაბრიკა არსებული MSAL ამგებლის კონფიგურაციის დროს:
var proxy = new WebProxy("http://proxy.example:8080");
var handler = new HttpClientHandler { Proxy = proxy, UseProxy = true };
var tokenHttp = new HttpClient(handler);
builder.WithHttpClientFactory(new TokenHttpFactory(tokenHttp));ამგებელი არის აპლიკაციის არსებული MSAL აპლიკაციის ამგებელი; შეინარჩუნეთ მისი უფლებამოსილება, კლიენტის რეგისტრაცია და რწმუნებების კონფიგურაცია. პროქსი ანგარიშის გარეშე დაშვებული საჯაროდ ხელმისაწვდომი HTTPS უფლებამოსილების მარშრუტისთვის, HTTP მისამართი HTTP პროქსიების სიიდან შეიძლება შეავსოს მაგალითის WebProxy. საჭიროების შემთხვევაში კონფიგურირეთ პროქსის რწმუნებები WebProxy-ზე.
ფაბრიკა უნდა იყოს ნაკადუსაფრთხო. ხელახლა გამოიყენეთ კლიენტი ყოველ GetHttpClient გამოძახებაში ახლის შექმნის ნაცვლად. MSAL არ ანადგურებს მოწოდებულ კლიენტს; მისი მფლობელი მართავს ამ სიცოცხლეს.
ეს აკონტროლებს MSAL-ის HTTP მოთხოვნებს. ინტერაქტიულმა შესვლამ შეიძლება გახსნას ბრაუზერი, რომლის ქსელი ცალკეა. ამიტომ მომუშავე ბრაუზერით შესვლა არ ამტკიცებს, რომ ტოკენის HTTP კლიენტს იგივე მარშრუტი აქვს.