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

WhatsApp嵌入式注册中兑换Access Code获取Access Token遇OAuth异常

问题分析与解决方案

错误提示明确指出授权码验证失败,原因是redirect_uri与OAuth请求时的不一致,这是OAuth2授权码流程中的常见问题,核心原因及解决步骤如下:

1. 后端兑换Token时缺少必填的redirect_uri参数

在调用oauth/access_token接口时,必须显式传入redirect_uri参数,且该值必须与前端发起授权(FB.login)时使用的redirect_uri完全一致。你的后端代码目前未包含该参数,这是导致错误的直接原因。

修改后端PHP代码:

$response = Http::get('https://graph.facebook.com/v18.0/oauth/access_token', [
        'client_id' => env('FACEBOOK_CLIENT_ID'),
        'client_secret' => env('FACEBOOK_CLIENT_SECRET'),
        'code' => $this->code,
        'redirect_uri' => 'https://your-domain.com/your-auth-page', // 替换为发起FB.login的页面完整URL
]);

2. 确保redirect_uri完全匹配授权时的URL

  • 前端通过JS SDK的FB.login发起弹窗授权时,默认的redirect_uri是当前执行该函数的页面完整URL(包括协议http/https、域名、端口、路径,比如http://localhost:3000/whatsapp-signup)
  • 后端传入的redirect_uri必须与该URL完全一致,不能有任何差异:
    • 注意协议(http/https)是否匹配
    • 注意localhost的端口是否正确
    • 注意路径末尾的斜杠、大小写是否一致

3. 检查Meta开发者后台的Redirect URI配置

进入Meta App Dashboard,按以下步骤操作:

  • 导航至「产品」→「Facebook登录」→「设置」
  • 在「Valid OAuth Redirect URIs」列表中,添加你使用的所有redirect_uri(包括本地测试的localhost地址和线上生产地址)
  • 保存配置后,重新测试流程

4. 额外注意事项

  • 若前端是单页应用(SPA),确保redirect_uri是发起授权的路由对应URL,而非根路径(除非授权操作在根页面执行)
  • 避免在redirect_uri中包含动态参数(如随机字符串、用户ID等),否则每次授权请求的redirect_uri会不一致,导致验证失败

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 13:15:55