ошибка аутентификации
После получения токена я получите AuthenticationResult, который содержит только AccessToken, но учетная запись имеет значение null. Я не уверен, что это проблема. Я вообще не понимаю, в чем проблема.
Что я сделал?
- < li>Я создал приложение в Microsoft Entra: создал секрет клиента и установил разрешения API
введите описание изображения здесь - Проверил все необходимые настройки. Я знаю, что SMTP-аутентификация работает. Все настройки установлены так, чтобы SMTP-аутентификация работала.
- Реализована функция получения токена OAuth2 из этого приложения для аутентификации.
- Реализована функция отправки электронной почты через Mailkit.
- Я искал решение почти 2 недели и нашел много ресурсов, но оно не смогло решить мою проблему. Мне не нужен общедоступный поток аутентификации, в котором пользователь должен аутентифицировать себя в браузере. Я хочу сделать это непосредственно из серверной части.
Функция получения токена доступа
var clientId = ""; // Azure App Client ID
var tenantId = ""; // Azure Tenant ID
var clientSecret = ""; // Azure App Client Secret
var authority = $"https://login.microsoftonline.com/{tenantId}/v2.0";
var scopes = new[] { "https://outlook.office365.com/.default" };
IConfidentialClientApplication app = ConfidentialClientApplicationBuilder.Create(clientId)
.WithClientSecret(clientSecret)
.WithAuthority(new Uri(authority))
.Build();
return await app.AcquireTokenForClient(scopes).ExecuteAsync();
Функция отправки электронной почты через MailKit
MimeMessage email = new();
email.From.Add(new MailboxAddress(model.UserName, _configuration.GetValue
Подробнее здесь: https://stackoverflow.com/questions/791 ... ils-always