我正在使用Azure Active Directory B2C进行Azure的外部授权。一切正常,直到周五19时突然我的后端无法响应,因为它无法从静态链接接收配置信息。
有趣的是,这个链接是完全可行的,当在浏览器中通过这个URL时,它会打开json文件,但我的后端无法访问它。
临时决定将此文件加载到AWS上的s3存储桶,以获取其公共URL并在应用程序配置中更改指向此文件的链接。但这个决定很丑陋,我想弄清楚问题出在哪里。
Stack:.Net Framework 4.6.2.
链接到我的项目设置中的配置文件:<add key="ida:AadInstance" value="https://xxx.b2clogin.com/{0}/v2.0/.well-known/openid-configuration?p={1}" />
2条答案
按热度按时间syqv5f0l1#
问题出在TLS版本。我的应用程序默认使用TLS 1.1版本。我认为Azure默默地弃用了TLS 1.1版本,并且所有请求都被跳过,状态代码为426 Upgrade required。
解决方案是在我的项目中将TLS版本更改为1.2。
下面的代码解决了我的问题:
rqqzpn5f2#
是,对于4.6.x之后的Dotnet框架,必须具有升级的tls版本。我可以通过使用tls版本1.2**
System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Tls12;
**成功绕过错误检查以下内容:
Startup.cs:
}
Appsettings.json
确保使用最新的补丁程序升级最新的框架,并检查网络连接。然后该程序可以成功运行与azure广告b2c