微信小程序登录
登录流程
小程序端用wx.login获取登录凭证code
- 小程序端 wx.login 获取code 并 wx.request 提交 code 给己方服务器
- 服务器 提交Appid + appSecret + code 到微信方服务器 获取 openid, sessionKey, unionId
属性 | 类型 | 说明 |
---|---|---|
code | string | 用户登录凭证(有效期五分钟)。开发者需要在开发者服务器后台调用 auth.code2Session,使用 code 换取 openid 和 session_key 等信息 |
wx.login({
success: res => {
// 发送 res.code 到后台换取 openId, sessionKey, unionId
console.log('code:', res.code);
wx.getUserInfo({
success: res1 => {
wx.request({
url: this.globalData.url + '/wechat/user/login',
method: "POST",
data: {
code: res.code,
userName: res1.userInfo.nickName,
avatar: res1.userInfo.avatarUrl
},
success: res2 => {
if (res2.data.code == "200") {
console.log('data:', res2.data.data);
this.globalData.openId = res2.data.data.openId
console.log('openId:', this.globalData.openId);
console.log('token:', res2.data.data.token);
}
}
})
}
})
}
})
获取openId, sessionKey, unionId
这是一个 HTTPS 接口,开发者服务器使用登录凭证 code 获取 session_key 和 openid。session_key 是对用户数据进行加密签名的密钥。为了自身应用安全,session_key 不应该在网络上传输。
接口地址:
https://api.weixin.qq.com/sns/jscode2session?appid=APPID&secret=SECRET&js_code=JSCODE&grant_type=authorization_code
属性 | 类型 | 说明 |
---|---|---|
APPID | String | 小程序appId |
SECRET | String | 小程序appSecret |
code | String | 登录时获取的code |
获取unionId
需要到开放平台绑定统一主体
本文由 纸鸢's 创作,采用 知识共享署名4.0 国际许可协议进行许可
本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名
最后编辑时间为:
2019/06/26 16:52