oauth业务接口说明

整体调用流程:

  1. 设置appkey、异步通知地址和回调地址获取授权链接和state参数
  2. 用户完成授权回调路由
  3. 查询用户信息成功后向指定的异步通知地址发送POST请求,包含openid、头像、昵称参数

4、回调路由自动跳转至指定的回调地址,且链接中附带state参数

接口说明:

一、获取授权地址接口

链接:/oauth/state.php

必填请求参数:

  • appkey:调用路由的密钥凭证
  • notify_url:指定的异步通知地址
  • return_url:指定的回调地址

示例返回:

{
  "code": 200,
  "msg": "success",
  "data": {
    "auth_url": "https://graph.qq.com/oauth2.0/authorize?response_type=code&client_id=10*********4&redirect_uri=https%3A%2F%2Foauth.zdjlales.netlib.re%2Foauth%2Fredirect.php&state=c35e011f25c661bbb8100470348b286d",
    "state": "c35e011f25c661bbb8100470348b286d"
  },
  "sign": "da9d2bd5444793dfffc583810d9bbbea92250c720ad63dacc0151fa82bb29b1f"
}

创建授权链接成功后,数据库会记录state的值并与创建它时使用的appkey绑定

二、回调路由接口

这一接口会在用户授权成功后自动跳转至该链接,且自动挂载code和state参数。

链接:/oauth/redirect.php

必填请求参数:

  • code:授权码(回调时自动生成,无需填写)
  • state:授权请求ID(回调时自动生成,无需填写)

示例返回:无

示例跳转回return_url/oauth/redirect.php?code=8a5a67f40b6ffcea7&state=c35e011f25c661bbb8100470348b286d

三、回调处理接口

此接口由上面的回调路由自动调用,无需手动调用

链接:/oauth/callback.php

必填请求参数:

  • code:授权码(自动调用,无需填写)
  • state:授权请求ID(自动调用,无需填写)

示例同步返回内容:

{ 
   "return_url": "https://oauth.zdjlales.de5.net/oauth/query.php"
}

示例通知至notify_url

{
  "code": 200,
  "msg": "查询成功",
  "data": {
    "state": "5c4c25daf11f0d2b2c6b11cfaa0fad10",
    "openid": "5*******************CD",
    "nickname": "**",
    "avatar": "http://thirdqq.qlogo.cn/ek_qqapp/W*****************kew/0",
    "timestamp": "1762977759"
  },
  "sign": "109439690b5100888a5a67f40b6ffcea7fd216886b15a163504c218dfbe2f86d"
}

四、查询授权接口

链接:/oauth/query.php

必填请求参数:

  • appkey:调用路由的密钥凭证,须与state绑定的appkey保持一致
  • state:授权请求ID

示例返回:

{
  "code": 200,
  "msg": "查询成功",
  "data": {
    "state": "5c4c25daf11f0d2b2c6b11cfaa0fad10",
    "status": "completed",
    "openid": "5*******************CD",
    "nickname": "**",
    "avatar": "http://thirdqq.qlogo.cn/ek_qqapp/****************kew/0",
    "created_at": "2025-11-12 20:00:47",
    "updated_at": "2025-11-12 20:01:06"
  },
  "sign": "109439690b5100888a5a67f40b6ffcea7fd216886b15a163504c218dfbe2f86d"
}

建议根据业务实际需求对收到的响应内容进行验签处理,详情可查看签名验签说明

评论

发表回复