登录接入时序图
sequenceDiagram
participant H5前端
participant H5服务端
participant SDK
participant SDK服务端
H5前端->>H5服务端: 请求签名参数
H5服务端->>H5前端: 返回ts,sign等签名参数
H5前端->>SDK: 调起登录,传入ts、sign等参数
SDK->>SDK服务端: 调用相应的登录
SDK服务端->>SDK: 登录成功返回openid、token、avatar、nick_name
SDK->>H5前端: 登录成功传入openid、token、avatar、nick_name
H5前端->>H5服务端: 调用CP端登录,传入openid、token
H5服务端->>SDK服务端: 校验token合法性
SDK服务端->>H5服务端: token合法,返回校验结果
H5服务端->>H5前端: 返回CP的登录态信息
注意:
- 发送给SDK服务端的请求报文
Content-Type: application/x-www-form-urlencoded
- SDK服务端返回的响应报文
Content-Type: application/json
登录
badam.login(appid, login_type, ts, sign, callback)
入参
appid: String // 应用ID, 从后台获取
login_type: Number // 登录类型,支持设备号登录/账号登录,见常量表
ts: Number // 透传数据,从h5服务器获取
sign: String // 透传数据,从h5服务器获取
callback: Function // 回调函数
ts
sign
等透传数据,参考 sign生成规则
建议: login_type 尽量用快速登录‘kLoginTypeQuick: 0’,提升新用户的注册转化率
出参
回调的参数是一个object
{
token: String,
openid: String,
avatar: String, // 头像
nick_name: String, // 昵称
}
例子
let appid = 'ee1884a9ec0f7f50a7e39636c0d7106f'
let ts = +new Date
let sign = 'A3446E082396FCFA911FC798303EFD73'
badam.login(appid, badam.k.kLoginTypeAccount, ts, sign, function(res){
log(res)
})
登录校验
H5前端将登录结果回传H5服务端,由服务端校验token和openid是否合法,参考 登录校验