# 登录凭证校验

接口应在服务器端调用,不可在前端(小程序、网页、APP等)直接调用,具体可参考接口调用指南

接口英文名:code2Verifyinfo

通过 wx.xxxLogin(如 wx.weixinAppLogin、wx.appleLogin、wx.weixinMiniProgramLogin) 获得临时登录凭证 (code) 后,传到开发者服务器,开发者服务器调用本接口获取用户标识信息,可以用于构建自定义登录态。

本接口需要的多端应用secret,可在多端应用控制台应用详情页查看:

# 1. 调用方式

# HTTPS 调用

GET https://api.weixin.qq.com/donut/code2verifyinfo?access_token=ACCESS_TOKEN

# 云调用

  • 本接口不支持云调用。

# 第三方调用

  • 本接口不支持第三方平台调用。

# 2. 请求参数

# 查询参数 Query String Parameters

参数名类型必填示例说明
access_tokenstringACCESS_TOKEN接口调用凭证,可使用 access_token

# 请求体 Request Payload

参数名类型必填说明
appidstring多端应用 ID,在多端应用控制台应用详情页可以查看;不是小程序 Appid,也不是移动应用 Appid
appsecretstring多端应用secret,在多端应用控制台应用详情页可以查看;不是小程序 secret,也不是移动应用 secret
codestring临时登录凭证,可通过 wx.weixinAppLogin、wx.weixinMiniProgramLogin、wx.phoneSmsLogin、wx.appleLogin、本机号码一键登录 button 获取
grant_typestring授权类型,固定值为"authorization_code"

# 3. 返回参数

# 返回体 Response Payload

参数名类型说明
errcodenumber错误码
errmsgstring错误提示
login_infoobject登录信息
user_infoobject用户标识信息

# Res.login_info Object Payload

登录信息

参数名类型说明
typestring登录方式: weixinApp, weixinMiniProgram, phoneSms, apple, phoneOneClick
login_timenumber登录时间

# Res.user_info Object Payload

用户标识信息

参数名类型说明
user_idstring多端用户ID
openapp_infoobject微信移动应用信息
miniprogram_infoobject微信小程序信息
phone_infoobject手机号信息
apple_infoobject苹果信息

# Res.user_info.openapp_info Object Payload

微信移动应用信息

参数名类型说明
appidstring微信移动应用appid
openidstring微信移动应用对应的openid
unionidstringunionid
headimgurlstring用户头像,最后一个数值代表正方形头像大小(有 0、46、64、96、132 数值可选,0 代表640*640正方形头像),用户没有头像时该项为空
nicknamestring普通用户昵称

# Res.user_info.miniprogram_info Object Payload

微信小程序信息

参数名类型说明
appidstring微信小程序appid
openidstring微信小程序对应的openid
unionidstringunionid,小程序需要绑定在微信开放平台才会返回;否则为空

# Res.user_info.phone_info Object Payload

手机号信息

参数名类型说明
phonestring手机号

# Res.user_info.apple_info Object Payload

苹果信息

参数名类型说明
bundleidstring苹果应用id
apple_user_idstring苹果用户id
apple_emailstring苹果用户邮箱账号
is_apple_email_verifiedboolean邮箱是否已验证(true/false)
is_apple_email_privateboolean邮箱是否为私人邮箱(true/false)

# 4. 注意事项

# 4.1 账号绑定说明

# 账号之间没有绑定
  • 当 type 是 weixinMiniProgram(小程序登录) 的时候返回 miniprogram_info
  • 当 type 是 weixinApp(微信登录) 的时候返回 openapp_info
  • 当 type 是 phoneSms(手机验证码登录) 和 phoneOneClick(一键本机号码登录) 的时候返回 phone_info
  • 当 type 是 apple 的时候返回 apple_info
# 账号之间有绑定
  • 例如,小程序登录(wx.weixinMiniProgramLogin)后通过 wx.miniapp.bindPhone 引导用户完成了手机号绑定,那么,当 type 是 weixinMiniProgram(小程序登录) 的时候会同时返回 miniprogram_info 和 phone_info
  • 同理,手机登录(wx.phoneSmsLogin)后通过 wx.miniapp.bindWeixin 引导用户完成了微信绑定,那么,当 type 是 phoneSms(手机验证码登录) 的时候会同时返回 phone_info 和 openapp_info
  • 以此类推,不同的登录方式之间可以引导进行账号的绑定;code2Verifyinfo 接口会依据 type 以及已绑定的账号类型情况而同时返回对应的信息

# 4.2 常问问题

# 5. 代码示例

请求示例

{
  appid: 'aaa',
  appsecret: 'bbb',
  code: 'ccc',
  grant_type: 'authorization_code'
}

返回示例

{
  errcode: 0,
  login_info: {
    type: 'weixinApp',
    login_time: 12345678,
    appid: 'aaa',
  },
  user_info: {
    user_id: 'xxx',
    openapp_info: {
      appid: 'bbb',
      openid: 'ccc',
      unionid: 'ddd',
      headimgurl: 'HEADIMGURL',
      nickname: 'NICKNAME'
    },
    phone_info: {
      phone: '137xxxxxxx'
    },
    apple_info: {
      bundleid: 'eee',
      apple_user_id: 'fff',
      apple_email:'xxx@test.com',
      is_apple_email_verified:false,
      is_apple_email_private:false
    },
    miniprogram_info: {
      appid: 'bbb',
      openid: 'ccc',
      unionid: 'ddd'
    },
  }
}

# 6. 错误码

以下是本接口的错误码列表,其他错误码可参考 通用错误码;调用接口遇到报错,可使用官方提供的 API 诊断工具 辅助定位和分析问题。

错误码错误描述
-1system error
10001000code过期
10001001code错误
10001002appid错误
10001003appsecret填错了,或者是参数传成了“secret”。正确的参数是“appsecret”
10001004grant_type错误
10001005多端应用未接入身份管理

# 7. 适用范围

本接口支持「多端应用」账号类型调用。其他账号类型如无特殊说明,均不可调用。