我使用 Microsoft 作为 OAuth2 提供程序,并希望在我的 ASP.NET 应用程序中验证 JWT 令牌。我收到一个奇怪的错误,即对 .well-known/openid-configuration 的初始请求失败,但后续请求成功 - 至少在 DNS 重新解析之前是这样。倒下的代码是:
using System.IdentityModel.Tokens.Jwt;
using Microsoft.IdentityModel.Tokens;
using Microsoft.IdentityModel.Protocols;
using Microsoft.IdentityModel.Protocols.OpenIdConnect;
string stsDiscoveryEndpoint = "https://login.microsoftonline.com/common/v2.0/.well-known/openid-configuration";
OpenIdConnectConfiguration config;
ConfigurationManager<OpenIdConnectConfiguration> configManager = new ConfigurationManager<OpenIdConnectConfiguration>(stsDiscoveryEndpoint, new OpenIdConnectConfigurationRetriever());
config = configManager.GetConfigurationAsync().Result;
以上抛出异常
无法连接远程服务器:连接尝试失败,因为连接的一方在一段时间后没有正确响应,或者连接失败,因为连接的主机没有响应 40.126.1.128:443
IP 地址会定期更改,但始终属于 Microsoft。对新 IP 地址的第一次调用总是会得到这个响应。我检查了我们的防火墙设置和日志,看起来不是问题所在。
有任何想法吗?