ASP.NET MVC中OpenIdConnectAuthenticationOptions登录报错400,无法完成微软登录
旧版ASP.NET MVC应用OpenIdConnect登录无法跳转微软登录页问题
我正在维护一个旧版ASP.NET MVC应用,突然发现使用OpenIdConnectAuthenticationOptions的登录机制出现问题,无法跳转至微软登录页面。我无法排查出问题所在,因为另有一个采用相同OpenIdConnectAuthenticationOptions实现的应用运行完全正常。请问有人遇到过相同问题吗?谢谢!

排查建议:
- 检查SSL证书状态:旧应用本地调试时若SSL证书过期或未被系统信任,会导致跳转请求被拦截,对比正常应用的SSL配置。
- 核对配置项细节:确认
OpenIdConnectAuthenticationOptions中ClientId、ClientSecret、Authority等参数是否与正常应用一致,尤其注意是否从配置文件读取的参数存在差异(比如web.config里的配置项被误修改)。 - 分析浏览器请求:跳转失败时打开浏览器F12控制台,查看网络请求是否有302跳转被阻断,或存在JS报错、CORS权限问题。
- 检查路由规则:确认旧应用的MVC路由是否有自定义规则拦截了登录请求,对比正常应用的路由配置。
- 验证Azure AD注册:检查旧应用对应的Azure AD应用注册是否有重定向URI变更、权限配置失效,或ClientId被禁用等情况。
- 查看应用日志:查看Windows事件日志或应用自身的日志文件,寻找OpenIdConnect认证中间件初始化或跳转过程中的错误信息。
内容的提问来源于stack exchange,提问作者Jog
相关产品推荐
相关产品推荐

