Как заменить DelegateAuthenticationProvider и TokenAcquisition новой библиотекой .NETC#

Место общения программистов C#
Ответить
Anonymous
 Как заменить DelegateAuthenticationProvider и TokenAcquisition новой библиотекой .NET

Сообщение Anonymous »

Я пытаюсь обновить старый код ASP.NET Core до .NET 8 и столкнулся с проблемами с MS Graph и безопасностью в целом. Старый код использовал токен уже аутентифицированного пользователя и передавал его через токен-носитель в GraphServiceClient для вызова различных методов.
Вот как выглядел исходный код :

Код: Выделить всё

var graphClient = new GraphServiceClient(new DelegateAuthenticationProvider(
async requestMessage =>
{
var accessToken = await _tokenAcquisition.GetAccessTokenForUserAsync(scopes: _scopes, authenticationScheme: _defaultAuthScheme);
requestMessage.Headers.Authorization = new AuthenticationHeaderValue("Bearer", accessToken);
}));

var user = await graphClient.Users[email].Request().GetAsync();
При обновлении до .NET 8 DelegateAuthenticationProvider удален или устарел, а TokenAcquisition, похоже, не содержит никакой информации об уже аутентифицированном пользователе при внедрении .
Я пытался следовать примеру поставщика потока кода аутентификации от MS, используя пример AuthorizationCodeCredential здесь, но не смог заставить его работать, поскольку для этого требовалось наличие AuthorizationCode уже есть, к которому не так-то легко получить доступ, если не считать небольшого взлома и помещения его в файл cookie или что-то подобное, и я не хочу этого делать.
Просто хотел посмотреть, есть ли простой способ выполнить исходный код, приведенный выше, с использованием более новых библиотек .NET 8. Заранее спасибо

Подробнее здесь: https://stackoverflow.com/questions/793 ... th-new-net
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»