我有一个。net API部署在一个AWS EC2实例上已经有几年了,大约一个月前,它开始对每个请求抛出异常。当我在本地运行服务器时不会出现错误,只有在我部署的AWS环境中运行时才会出现错误。
原始错误信息为:IDX20803: Unable to obtain configuration from: '[PII is hidden. For more details, see https://aka.ms/IdentityModel/PII.]'.
用Microsoft.IdentityModel.Logging.IdentityModelEventSource.ShowPII = true;
测试后,错误信息为:IDX20803: Unable to obtain configuration from: 'https://mydomain.us.auth0.com/.well-known/openid-configuration'.
在我的服务的AddJwtBearer
中我添加了:
options.BackchannelHttpHandler = new HttpClientHandler
{
ServerCertificateCustomValidationCallback = (message, cert, chain, errors) => true
};
现在,当我在AWS上测试我的服务时,请求不再失败。
似乎我的服务有问题使SSL连接到它的OAuth配置,但只有在运行在一个AWS EC2实例。在我的浏览器中,我从错误消息中转到配置URL,它与有效的SSL证书有安全连接,所以我不确定为什么它会有问题。
我发现很多人都遇到了与Auth0证书颁发机构变更相关的问题(参见这篇文章),所以我更新了在我们的EC2实例上运行的Amazon Linux版本,问题得到了解决。