微信小程序登录
概述
该接口用于微信小程序登录,使用小程序用户的openid或手机号自动绑定ldap账号并返回盘古token。
适用范围
Pangea v2.8.6+
接口请求地址
公共开发环境: http://pangea-stage-gateway-pangea-stage.devapps.hisense.com/auth/token/getWeChatToken
其余环境: http://网关地址/auth/token/getWeChatToken
指导流程
API详解
接口说明
- 请求路径:/token/getWeChatToken
- 请求类型:POST
接口参数
参数 | 名称 | 类型 | 必传 | 默认值 | 备注 |
---|---|---|---|---|---|
code | 微信登录凭证 | String | 否 | 使用code时必填 | |
openId | 微信用户ID | String | 否 | 使用openId必填 | |
sessionKey | 微信会话秘钥 | String | 否 | 解析手机号时必填 | |
encryptedData | 包括敏感数据在内的完整用户信息的加密数据 | String | 否 | 解析手机号时必填 | |
iv | 加密算法的初始向量 | String | 否 | 解析手机号时必填 | |
systemName | 系统名称 | String | 是 |
注意
使用code换取token,应该是小程序用户第一次登录时,即每个用户第一次使用小程序时使用一次code换取token,之后应使用openId获取。 使用code时,应提前联系框架管理员配置appid(小程序唯一凭证)和secret(小程序唯一凭证密钥)
使用openId时请求参数示例:
json
{
"openId": "openId",
"systemName": "pangea"
}
使用code时请求参数示例:
json
{
"code": "code",
"systemName": "pangea"
}
解析手机号时请求参数示例:
json
{
"sessionKey": "sessionKey",
"encryptedData": "encryptedData",
"iv": "iv",
"systemName": "pangea"
}
返回结果
参数 | 名称 | 类型 | 必传 | 默认值 | 备注 |
---|---|---|---|---|---|
code | 微信登录凭证 | String | |||
openId | 微信用户ID | String | |||
sessionKey | 微信会话秘钥 | String | |||
encryptedData | 包括敏感数据在内的完整用户信息的加密数据 | String | |||
iv | 加密算法的初始向量 | String | |||
systemName | 系统名称 | String | |||
mobile | 手机号 | String | |||
token | 框架秘钥 | String |
注意
返回结果中token参数有可能为空,造成空值有可能有以下几种原因:
1、请求参数【systemName】未传
2、code方式获取时未配置或配置无效的appid(小程序唯一凭证)和secret(小程序唯一凭证密钥)
3、该用户不属于海信用户(ldap)中
4、解析手机号或code时,微信服务返回失败
返回成功结果示例:
json
{
"ts": 1640071769133,
"data": {
"openId": "xxxxxxx",
"code": null,
"sessionKey": null,
"encryptedData": null,
"iv": null,
"loginName": "xxxxx",
"systemName": "pangea",
"mobile": "13333333333",
"token": "28bc1104-a2db-435b-ae54-e1ffd38a846d"
},
"code": "0",
"msg": "操作成功",
"alert": "0"
}