openid - 使用 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' 匿名工作,而其他人只能通过身份验证工作?
解决方案
推荐阅读
- if-statement - 批处理文件 If 语句导致 CMD 关闭且不起作用
- azure - Azure App Service - 在烧瓶服务器之外运行 crontab/计划任务
- sparql - 如何获取sparql中具有属性的类的数量
- powershell - PowerShell 导入模块 ActiveDirectory 需要 15 秒以上才能加载
- flutter - 当我禁用它时清除 TextFormField 的错误样式?
- python - 如何从 Maya Python 脚本调用 JSX 脚本?
- typescript - 具有不同通用值的 JSON 对象
- c# - C# Excel Interlop Error HRESULT: 0x800A03EC with some Formula, not all
- python - 在没有循环的情况下从 Python 中的离散概率分布矩阵中采样
- docker - 有没有办法在 VSCode Devcontainers 中调试 PostCreateCommand?