Мне нужно отправить данные в концентратор событий, но для этого необходимо авторизовать пользователя.
В настоящее время я использую следующий код для достижения своей цели.
var ehClient = EventHubClient.CreateWithAzureActiveDirectory(
new Uri($"sb://{EventHubNamespace}.servicebus.windows.net/"),
EventHubName,
async (audience, authority, state) => {
var app = PublicClientApplicationBuilder.Create(ClientId)
.Build();
var authResult = await app.AcquireTokenInteractive(new[] { $"{audience}/.default" }).ExecuteAsync();
return authResult.AccessToken;
},
$"https://login.windows.net/{TenantId}");
await ehClient.SendAsync(new EventData(Encoding.UTF8.GetBytes("test data")));
В этом решении пользователь должен выполнять проверку подлинности при каждой отправке данных в EventHub. Нет ли решения, которое позволяет отправлять AcessToken вместо authCallback? Кажется, есть бесконечные примеры того, как запросить AcessToken, но я не могу найти тот, где токен используется для доступа к ресурсам, соответственно. EventHub.