为何ASP.NET Core 5站点VS运行与Azure部署时OIDC重定向路径不同
重定向路径差异原因
两种场景的回调路径不同,核心是Azure App Service内置身份验证功能的介入,具体差异如下:
- 本地运行场景
本地环境没有额外的代理层处理身份验证,所有授权逻辑由你代码中引入的ASP.NET Core OIDC中间件处理。调用AddMicrosoftIdentityUI()时会自动注册默认的OIDC回调路径/signin-oidc,因此登录重定向会指向这个地址。 - Azure部署场景
你为部署站点的Azure App Service开启了**内置身份验证(俗称Easy Auth)**功能,这个功能运行在应用进程的前置反向代理层,会优先接管所有身份验证请求,它预设的Azure AD回调路径为/.auth/login/aad/callback。此时应用代码会自动识别代理层传递的身份凭证,不需要自行处理OIDC授权回调流程,因此也可以正常完成登录。
补充说明
如果希望两端回调路径保持一致,可以在Azure App Service的「身份验证」配置页关闭内置身份验证功能,此时身份验证逻辑将完全由应用代码处理,回调路径就会和本地保持一致。需要注意:两种回调路径都需要提前添加到Azure应用注册的「重定向URI」列表中,否则会触发授权错误。
内容的提问来源于stack exchange,提问作者Rob Bowman
相关产品推荐
相关产品推荐

