# 移动端H5获取用户身份态

# 授权地址

# 请求方法:

GET

# 请求地址:

https://open.wecard.qq.com/connect/oauth/authorize?app_key=APPKEY&response_type=code&scope=snsapi_base&ocode=1011789061&redirect_uri=http%3a%2f%2fexample.com&state=STATE

# 参数说明:

参数 是否必填 类型 实例 说明
app_key 是 String APPKEY 腾讯微卡分配的应用appkey
response_type 是 String code 返回类型,固定填code
scope 是 String snsapi_sso 授权作用域。snsapi_base:静默授权,获取成员card_number;snsapi_userinfo:非静默授权,用户确认后获取成员详细信息;snsapi_sso:单点登录,获取登录用户详细信息,并维持登录态。
ocode 是 String 1011789061 主体代码,若不填写会跳转到选择主体页面
redirect_uri 是 String http%3a%2f%2fexample.com 回调地址,需使用urlencode进行编码,授权后会将信息回调到此接口
state 否 String State 透传信息,回调之后原样返回

# 返回说明:

oauth完成后跳转链接示例:http://example.com?wxcode=WXCODE&state=STATE

参数 是否必填 类型 实例 说明
wxcode 是 String WXCODE 获取成员信息授权码,有效期5分钟一次性
state 否 String State 透传信息,回调之后原样返回

# 获取access_token

# 请求方法:

POST(application/json)

# 请求地址:

https://open.wecard.qq.com/connect/oauth2/token

# 参数说明:

{
	"wxcode": "WXCODE",
    "app_key": "APP_KEY",
    "app_secret": "APP_SECRET",
    "grant_type": "authorization_code",
    "redirect_uri": "http://example.com"
}
参数 是否必填 类型 实例 说明
wxcode 是 String WXCODE 获取成员信息授权码,有效期5分钟一次性
app_key 是 String APP_KEY 腾讯微卡分配的应用appkey
app_secret 是 String APP_SECRET 腾讯微卡分配的应用appsecret
grant_type 是 String authorization_code 返回类型,固定填authorization_code
redirect_uri 是 String http://example.com 回调地址,需和请求授权地址时的地址保持一致

# 返回说明:

正确时返回的json数据包如下:

 {
    "refresh_token": "xxxxxxxx",
    "access_token": "xxxx",
    "token_type": "bearer",
    "expires_in": 7200,
    "ocode": "xxxxxx"
}
参数 是否必填 类型 实例 说明
refresh_token 是 String 用来刷新access_token
access_token 是 String 应用获取授权信息有效凭证
token_type 是 String bearer token类型,固定为bearer
expires_in 是 Integer 7200 有效凭证的有效期
ocode 是 string 主体代码

# 获取授权用户信息

# 请求方法:

POST(application/json)

# 请求地址:

https://open.wecard.qq.com/connect/oauth/get-user-info

# 参数说明:

{
    "access_token": "access_token",
}
参数 是否必填 类型 实例 说明
access_token 是 String ACCESS_TOKEN 用户授权信息有效凭证

# 响应说明:

当正确的情况下,scope为snsapi_base时返回

{
    "errcode": 0,
    "errmsg": "success",
    "ocode": "1011789061",
    "card_number": "20121503",
}
参数 是否必填 类型 实例 说明
errcode 是 Integer 0 状态码,0为成功,非0为错误
errmsg 是 String success 状态描述信息
ocode 是 String 1011789061 主体代码
card_number 是 String 20121503 用户电子卡号/学工号

当正确的情况下,scope为snsapi_userinfo或snsapi_sso时返回

{
    "ocode": "1011789061",
    "card_number": "07302590",
    "name": "陈小明",
    "identity_type": "1",
    "grade": "2016",
    "college": "人居环境工程学院",
    "profession": " 工程造价",
    "class": "1班",
    "identity_title": "经理/总监/部长/本科生...",
    "gender": 1, 
    "head_image": "",
    "organization": [
        2,
        222,
        496
    ], 
    "role": [
        1,
        2
    ], 
    "campus": "东校区", 
    "dorm_number": "至善园",
    "physical_chip_number": "xaqwecf",
    "physical_card_number": "fqweasd",
    "nation": "汉族",
    "birthday": "20020319", 
    "origin_place": "深圳市",
    "graduated_school": "小碧中学",
    "address": "广东省深圳市",
    "contact_person": "陈大明",
    "contact_phone": "(+86)13800138000",
    "email": "605135612@qq.com",
    "id_card": "440305200203194013",
    "telephone": "(+86)13800138000",
    "start_at": "2019-10-14 00:00:00",
    "expire_at": "2019-10-18 00:00:00",
    "updated_at": "2019-10-16 00:00:00",
}
参数 必填 类型 实例 说明
ocode 是 String 1011789061 主体代码
card_number 是 String(32) 07302590 用户电子卡号/学工号
name 是 Integer 陈小明 用户姓名
identity_type 是 Integer 1 成员身份类型,参考文档成员身份类型列表
grade 否 String 2016 年级(需申请)
college 否 String 人居环境工程学院 学院(需申请)
profession 否 String 工程造价 专业(需申请)
class 否 String 1班 班级(需申请)
identity_title 否 String 经理/总监/部长/本科生... 身份职称(需申请)
gender 否 Integer 1 性别,0为未知,1为男,2为女(需申请)
head_image 否 String 头像(需申请)
organization 否 Array [2,222,496] 用户所属组织架构id列表(需申请)
role 否 Array [1, 2] 用户所属角色id列表(需申请)
campus 否 String 东校区 校区(需申请)
dorm_number 否 String 至善园6号 宿舍号(需申请)
physical_chip_number 否 String xaqwecf 物理芯片号(需申请)
physical_card_number 否 String fqweasd 物理卡号(需申请)
nation 否 String 汉族 民族(需申请)
birthday 否 String 20020319 生日(需申请)
origin_place 否 String 深圳市 生源地(需申请)
graduated_school 否 String 小碧中学 毕业学校(需申请)
address 否 String 广东省深圳市 地址(需申请)
contact_person 否 String 陈大明 联系人姓名(需申请)
contact_phone 否 String (+86)13800138000 联系人手机号码(带区号)(需申请)
email 否 String 605135612@qq.com 用户邮箱(需申请)
id_card 否 String 440305200203194013 身份证(需申请)
telephone 否 String (+86)13800138000 手机号码(带区号)(需申请)
start_at 否 Datatime 2019-10-14 00:00:00 有效起始时间(需申请)
expire_at 否 Datatime 2019-10-18 00:00:00 有效结束时间(需申请)
updated_at 否 Datatime 2019-10-16 00:00:00 用户信息变更时间(需申请)

错误时返回:

{
    "errcode": "40002",
    "errmsg": "invalid access_token"
}
参数 是否必填 类型 实例 说明
errcode 是 Integer 0 状态码,0为成功,非0为错误
errmsg 是 String success 状态描述信息

# 注销登录

若scope值为snsapi_sso,可跳转此地址注销登录。

# 请求方法:

GET

# 请求地址:

https://open.wecard.qq.com/connect/sso/logout?app_key=APP_KEY&ocode=1011789061&redirect_uri=http%3a%2f%2fexample.com

# 参数说明:

参数 是否必填 类型 实例 说明
app_key 是 String APP_KEY 腾讯微卡分配的应用appkey
ocode 是 String 1011789061 主体代码
redirect_uri 是 String http%3a%2f%2fexample.com 注销成功后回调的地址

# 注意事项

  1. 私有化部署的主体不能使用上面接口地址,需要根据主体私有化部署域名拼上对应的路径,主体私有化网关域名(私有化部署域名+/kong)
  2. 每个主体都可以自定义成员身份类型,获取成员身份类型列表,参考文档获取成员身份类型

# 更新日志

日期 变更说明
2019-10-18 新文档上线,替换移动端H5获取应用身份态旧文档
2020-05-08 新增角色字段