微信小程序如何得到code获取token密钥,以及怎么微信登录授权获取用户详细信息?
微信小程序如何得到code获取token密钥,以及怎么微信登录授权获取用户详细信息?登录授权流程:点击进入–进入首页获取code请求到token–授权登录微信1.如何获取code(1) 第一步:通过wx.login得到code,调用接口获取登录凭证(code)。通过凭证进而换取用户登录态信息wx.login()是微信小程序的内置调用接口获取登录凭证(code)。通过凭证进而换取用户登录态信息,包括
微信小程序如何得到code获取token密钥,以及怎么微信登录授权获取用户详细信息?
登录授权流程:
点击进入–进入首页获取code请求到token–授权登录微信
1.如何获取code
(1) 第一步:通过wx.login得到code,调用接口获取登录凭证(code)。通过凭证进而换取用户登录态信息
wx.login()是微信小程序的内置调用接口获取登录凭证(code)。通过凭证进而换取用户登录态信息,包括用户在当前小程序的唯一标识(openid)、微信开放平台帐号下的唯一标识(unionid,若当前小程序已绑定到微信开放平台帐号)及本次登录的会话密钥(session_key)等
wx.login({
success(res) {
console.log(res);
})
//res是请求成功返回的数据里面包括code码,通过凭证进而换取用户登录态信息
(2)第二步:通过调用公司后台接口(自动注册/登录接口)获取腾讯用户的匿名信息
wx.request({
url: '公司用来请求token的接口',
method:'POST',
data:{
code:'上一步通过wx.login()获取的code'
},
success:res=>{
console.log(res)
wx.setStorageSync('token',res的token)
}
})
1.wx.setStorageSync(‘key’,‘value’)是微信小程序本地存储的方法
2.我们可以每次请求到的token存储到本地,以后进行业务请求需要token的时候从本地获取。
3.wx.getStorageSync(‘key’)是微信获取本地数据的方法
4.token:是用户的唯一标识,是用户(前端)登录之后,后台对用户名,密码和失效时间加密返回给浏览器的一个字符串,用户(前端)可以利用token写其他业务代码
5.检测token是否有效:调取公司后台接口来检测是否有效
重点:这个code是大概5分钟会过期,而且每次调用wx.login()都会重新生成新的code,用新的code去获取token就会获取新的token,并且原来的token再请求业务就会token失效.
2.如何获取微信详细的用户信息
以前:wx.getUserInfo()来弹出授权登录,通过用户的授权来获取用户的详细信息,
在2021.4.13停止使用进行调整,详细信息见:https://developers.weixin.qq.com/community/develop/doc/000cacfa20ce88df04cb468bc52801
官方提供了新的api用于授权登录:wx.getUserProfile()
wx.getUserProfile({
lang:'zh_CN',//请求信息返回的数据语言
desc:'登录信息使用',//请求使用用途
success:res=>{
console.log(res.userInfo)//res.userInfo里就是用户的详细信息
}
})
//得到用户详细信息后,可以通过调用公司后天更新用户信息接口把详细信息添加上去
检测微信登录态是否有效 wx.checkSession()
更多推荐
所有评论(0)