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

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

Сообщение Anonymous »

Я пытаюсь обновить старый основной код ASP.NET до .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, но не смог заставить его работать, поскольку для этого уже требовалось наличие кода авторизации, который не так легко доступен за пределами выполнения небольшой трюк, заключающийся в помещении его в файл cookie или что-то подобное, и я не хочу этого делать.
Просто хотел посмотреть, есть ли простой способ выполнить исходный код, приведенный выше, с помощью новые библиотеки .NET 8. Заранее спасибо

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

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

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

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

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

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