ошибка аутентификации
После получения токена я получите AuthenticationResult, который содержит только AccessToken, но значение Account равно нулю. Я не уверен, что это проблема. Я вообще не понимаю, в чем проблема.
Что я сделал?
- Я создал приложение в Microsoft Entra: создал секрет клиента и установил разрешения API
- Проверил все необходимые настройки. Я знаю, что SMTP-аутентификация работает. Все настройки установлены, поэтому должно быть возможно, что SMTP-аутентификация работает.
- Реализована функция получения токена OAuth2 из этого приложения для аутентификации.
- Реализована функция отправки письма через Mailkit
- Я искал решение почти две недели и нашел много ресурсов, но они не смогли решить мою проблему. Мне не нужен общедоступный поток аутентификации, в котором пользователь должен аутентифицировать себя в браузере. Я хочу сделать это непосредственно из серверной части.
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