Можно ли использовать авторизованные учетные данные пользователя Windows для аутентификации в веб-API? - PullRequest
0 голосов
/ 17 ноября 2018

Я реализую аутентификацию для клиентского приложения командной строки, которое отправляет веб-запрос к веб-API.Если я правильно расскажу, я могу применить сценарий аутентификации собственного приложения Azure Active Directory .

Меня беспокоит то, что настройка Azure AD потребует значительных усилий от пользователей клиентских приложений при настройке AADПлюс им придется работать с интерактивным диалогом.Это становится еще хуже в случае отсутствия человека, так как сценарий сервис-сервис еще более сложен.

Можно ли вместо этого полагаться на учетные данные вошедшего в систему пользователяклиентский компьютер?Предположим, что клиентский компьютер под управлением Windows присоединен к домену, скажем, FooDomain.Сервер использует реализацию собственного хоста на основе OWIN, Katana .

Вопросы, связанные с данной:
OWIN Web API Служба Windows - имитация идентификатора Windows

1 Ответ

0 голосов
/ 17 ноября 2018

@ Конрад Ямрозик. Если вы работаете в .NET и хотите использовать зарегистрированного пользователя в присоединенном домене Windows (ваш случай) и даже в AAD, я бы посоветовал использовать MSAL.NET с переопределением встроенной аутентификации Windows (IWA). См. https://aka.ms/msal-net-iwa. Упрощенный код выглядит следующим образом:

string authority = "https://login.microsoftonline.com/contoso.com";
string[] scopes = new string[] { "user.read" };
PublicClientApplication app = new PublicClientApplication(clientId, authority);
var accounts = await app.GetAccountsAsync();

AuthenticationResult result=null;
if (accounts.Any())
{
 result = await app.AcquireTokenSilentAsync(scopes, accounts.FirstOrDefault());
}
else
{
  result = await app.AcquireTokenByIntegratedWindowsAuthAsync(scopes);
}    

Этот пример объясняет, как зарегистрировать приложение, и предоставляет все подробности о коде: https://github.com/azure-samples/active-directory-dotnet-iwa-v2

...