# 登录凭证校验

接口应在服务器端调用,不可在前端(小程序、网页、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苹果账号信息
huawei_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)

# Res.user_info.huawei_info Object Payload

华为账号信息

参数名类型说明
client_idstring华为 client_id
huawei_open_idstring华为 open_id
huawei_union_idstring华为 union_id
huawei_display_namestring华为账号昵称
huawei_picturestring华为账号头像
huawei_emailstring华为账号邮箱
is_huawei_email_verifiedboolean邮箱是否已验证(true/false)
typestring类型

# 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
        },
        "huawei_info": {
            "client_id": "6917575068155340466",
            "huawei_open_id": "AAAVXQFo5cL1lFLxQ0dhhVLvnIhlU",
            "huawei_union_id": "",
            "huawei_display_name": "over",
            "huawei_picture": "https://upfile-drcn.platform.hicloud.com/QYbytCcQAMsmzK77575068155340466.jpeg",
            "huawei_email": "",
            "is_huawei_email_verified": false,
            "type": "huawei-app"
        },
        "miniprogram_info": {
            "appid": "bbb",
            "openid": "ccc",
            "unionid": "ddd"
        }
    }
}

# 6. 错误码

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

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

# 7. 适用范围

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