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

客户端侧处理OAuth2授权码流程响应的问题

OAuth授权码流程中获取授权码的方法

身份提供商重定向回/callback端点时,授权码会以URL查询参数的形式返回,标准参数名为code,以下是不同场景下的获取方式:

前端(浏览器端)获取

如果/callback是前端路由(比如单页应用),直接通过浏览器API解析URL参数:

// 在/callback页面的前端代码中
const urlParams = new URLSearchParams(window.location.search);
const authorizationCode = urlParams.get('code');
// 拿到code后,传给后端接口换取访问令牌

后端(服务器端)获取

如果/callback是后端接口,不同框架的获取方式如下:

Node.js(Express框架)

app.get('/callback', (req, res) => {
  const authorizationCode = req.query.code;
  // 携带code调用身份提供商的令牌接口
});

Python(Flask框架)

@app.route('/callback')
def callback():
    authorization_code = request.args.get('code')
    # 执行换取令牌的逻辑
    return '授权处理中'

Java(Spring Boot)

@GetMapping("/callback")
public String callback(@RequestParam("code") String authorizationCode) {
    // 使用authorizationCode请求访问令牌
    return "授权成功";
}

注意事项

  • 若URL中存在error参数,说明授权失败,需处理对应的错误场景
  • 授权码具有一次性有效性,拿到后需立即调用令牌接口,不可重复使用

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 11:07:03