You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Microsoft Graph对新用户返回invalid_grant,本地环境正常

解决Microsoft Graph认证"invalid_grant (Bad Request)"问题(仅生产环境redirect URI异常)

针对生产环境redirect URI导致认证失败的问题,以下是排查和解决步骤:

1. 验证Azure AD应用注册中的redirect URI配置

  • 登录Azure门户,找到你的应用注册,进入身份验证页面
  • 确保生产环境的redirect URI已精确添加,注意:
    • 必须与代码中OAUTH_REDIRECT_URI完全一致,包括协议(生产环境必须用HTTPS,本地HTTP可能被允许)、域名、路径,甚至末尾的斜杠都要严格匹配
    • 根据应用类型选择对应的平台(如Web应用/API需选择Web平台)

2. 确保token请求阶段的redirect URI一致性

  • 检查回调获取token的代码中,使用的redirect URI必须和授权阶段的OAUTH_REDIRECT_URI完全相同,不能存在任何差异(比如授权用https://example.com/callback,回调里不能写成https://example.com/callback/)

3. 确认生产环境HTTPS配置有效性

  • Microsoft Graph OAuth2生产环境强制要求redirect URI使用HTTPS,若生产环境仍用HTTP,会直接触发invalid_grant错误
  • 检查生产服务器的SSL证书是否有效、配置是否正确

4. 清理会话缓存

  • 生产环境可能残留旧的OAuth state或授权会话数据,导致验证失败
  • 清理用户浏览器缓存,或在应用中强制重置OAuth相关的session数据(比如代码中的oauthState)

5. 排查URL编码与拼接问题

  • 确保生产环境的redirect URI无特殊字符,或已正确URL编码
  • 检查finalUrl的拼接逻辑,确认&prompt=select_account没有破坏原授权URL的结构

额外验证步骤

  • 临时将生产环境的redirect URI替换为另一个已验证的HTTPS地址测试,确认是否为当前URL的配置问题
  • 检查Azure AD应用注册的证书和密码,确保OAUTH_APP_SECRET未过期或被修改

内容的提问来源于stack exchange,提问作者Alexandre

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 12:55:59