# 移动端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 | 联系人手机号码(带区号)(需申请) |
否 | 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 | 注销成功后回调的地址 |
# 注意事项
- 私有化部署的主体不能使用上面接口地址,需要根据主体私有化部署域名拼上对应的路径,主体私有化网关域名(私有化部署域名+/kong)
- 每个主体都可以自定义成员身份类型,获取成员身份类型列表,参考文档获取成员身份类型
# 更新日志
日期 | 变更说明 |
2019-10-18 | 新文档上线,替换移动端H5获取应用身份态旧文档 |
2020-05-08 | 新增角色字段 |