ASP.NET Core 身份服务器无法从自身访问主机端点

问题描述 投票:0回答:1

目前,我们在互联网上有一个运行良好的 SPA,带有 ASP.NET Core 7.0 和后端身份服务器。

但现在我们将其出售给另一个组织,供他们在其 LAN 上内部使用。

但是他们对网络设置有一些限制,例如反向代理和不允许一台机器调用自身。

您可以访问网络中除当前机器之外的所有端点

如果您从客户那里拨打

https://Company.com/.well-known/openid-configuration
,您就会得到结果。

但是如果你从主机调用它,你将什么也得不到。

这就是问题所在,因为身份服务器使用相同的地址来读取其配置。

很多日志都包含此消息:

无法从URL获取配置

我需要的是强制/配置identityServer调用localhost而不是请求URL。

即使如此,我也不确定这是否是正确的调用,因为似乎出于安全原因,服务器和客户端都应该使用相同的地址进行验证(或类似的内容,如果我错了,请纠正我)

asp.net-core identityserver4 asp.net-core-identity
1个回答
0
投票

尝试设置:

options.Audience = "https://Company.com/.well-known/openid-configuration"; 
options.RequireHttpsMetadata = false; 
options.MetadataAddress = "http://1.2.3.4/.well-known/openid-configuration"; 

其中 1.2.3.4 是 IdentityServer 实例的本地 IP 或内部名称?

通过这种方式,您可以将令牌内的地址与应用程序获取元数据的位置分开。

© www.soinside.com 2019 - 2024. All rights reserved.