首页 > 解决方案 > 使用 IdentityServer 进行 Windows 身份验证

问题描述

我有一个 Web API 应用程序、一个 Identity Server 应用程序和一个桌面客户端。我的目标是让桌面客户端通过 Identity Server 使用Windows 身份验证来向 Web API 验证桌面客户端。这在没有 Windows 身份验证的情况下工作正常:桌面客户端显示一个浏览器窗口供客户端输入凭据。然后验证凭据并授​​予用户访问桌面应用程序的权限。

我为 Windows 身份验证设置了这样的东西:IdentityServer 应用程序在其自己的应用程序池上运行。只有启用了 Windows 身份验证的 Web API 应用程序在其自己的应用程序池上运行。已启用匿名身份验证。

但问题是,当桌面客户端尝试连接以获取 openid 配置时,它会失败说:“无法创建以从以下位置获取配置:'http://{server}/IdentityServer/.well-known/openid-configuration' ”。如果我在 IdentityServer 上启用匿名身份验证,错误就会消失,但当然所有调用都是匿名的,并且用户不会被验证。此外,如果在拨打电话后我再次禁用匿名访问(因为 openId 调用已经发生),用户将通过身份验证,我将获得预期的行为。

所以我的问题是:我如何指示服务器允许调用 Unable to create 以从以下位置获取配置:'IdentityServer/.well-known/openid-configuration' 匿名工作,而其他人只能通过身份验证工作?

标签: openididentityserver4openid-connect

解决方案


推荐阅读