使用Active Directory在ASP.NET核心API Web服务中进行身份验证

使用Active Directory在ASP.NET核心API Web服务中进行身份验证,api,web-services,asp.net-core,Api,Web Services,Asp.net Core,我想为一组intranet桌面应用程序提供一个WebService API 当前我的web服务配置(launchSettings.json)是: 此方法在启动类中需要以下代码行: services.AddAuthentication(IISDefaults.AuthenticationScheme); 当我测试它时,浏览器(在我的例子中是Firefox)调用默认控制器。然后,我从已经登录的active directory用户那里得到一个提示,询问用户和密码。成功登录后,我可以在控制器类中看到用

我想为一组intranet桌面应用程序提供一个WebService API

当前我的web服务配置(launchSettings.json)是:

此方法在启动类中需要以下代码行:

services.AddAuthentication(IISDefaults.AuthenticationScheme);
当我测试它时,浏览器(在我的例子中是Firefox)调用默认控制器。然后,我从已经登录的active directory用户那里得到一个提示,询问用户和密码。成功登录后,我可以在控制器类中看到用户名及其状态:

var isAuthenticated = User.Identity.IsAuthenticated;
var userName = User.Identity.Name;
但是,正如前面提到的:当前用户已经登录到这台Windows计算机,因此,我可以转发此信息以避免出现此登录提示吗

在测试阶段输入这些信息并不是一个大问题,但我想当其他类型的客户端(我的自定义桌面应用程序)尝试使用这些Web服务时,它们也需要以用户获得授权的方式调用这些Web服务


请考虑我开始使用ASP.NET、核心和WebServices技术,所以如果你需要更多的信息,请告诉我:D/P > > PixFirefox不支持自动登录。只有Chrome和IE/Edge才可以。

谢谢@Chris的评论,但正如您可能已经读到的,我并不介意调试情况是否如此,但如果我编写一个桌面应用程序呢?如何传递/交换此登录信息?
var isAuthenticated = User.Identity.IsAuthenticated;
var userName = User.Identity.Name;