ASP.NET应用连接Azure Active Directory出现重定向URI匹配错误求助
问题根因
AAD的重定向URI校验是严格完全匹配规则,协议、域名、端口、路径、末尾斜杠、大小写任意一处不一致都会触发AADSTS50011报错。你遇到的情况是应用实际运行端口和配置、门户注册的地址不匹配导致的。
排查步骤
- 先确认应用实际运行的HTTPS端口
你修改配置为https://localhost:44368/才能进入登录页,说明你的ASP.NET应用实际启动后监听的是44368端口,而非你之前配置的5000端口。可以查看项目Properties文件夹下的launchSettings.json文件,或者IIS Express的站点配置,确认应用默认启动的HTTPS端口,不要自行在配置里填写和实际运行端口不符的重定向地址。 - 核对Azure门户的重定向URI配置
进入Azure AD应用注册的对应应用页,打开「身份验证」选项卡,在Web平台的重定向URI列表中,添加和你代码配置完全一致的地址:- 协议必须为HTTPS
- 端口和实际运行端口完全一致
- 路径、末尾斜杠和代码配置完全相同,比如你代码里用的是
https://localhost:44368/,门户里就要填一模一样的带末尾斜杠的地址,不能省略斜杠,也不能多写路径。
注意ASP.NET集成AAD的默认回调路径为/signin-oidc,如果你没有手动修改回调路径配置,需要把门户里的重定向URI改为https://localhost:44368/signin-oidc。
- 确认代码配置未被覆盖
可以在OpenIdConnect服务配置的位置打断点,验证最终生效的RedirectUri参数是否和你预期的配置一致,避免被环境变量、launchSettings里的重定向配置覆盖。
内容的提问来源于stack exchange,提问作者rimi
相关产品推荐
相关产品推荐

