微信小程序登录授权流程代码:
- 在小程序中引入wx.login()获取用户code,代码如下:
wx.login({
success: res => {
// 获取到用户的code,可用于登录
const code = res.code
// TODO: 将code发送到后台进行登录验证
}
})
- 在后台服务器处理登录验证请求,使用wx.login()获取的code,向微信开放平台请求用户的openid和session_key,代码如下:
// 向微信开放平台获取用户的openid和session_key
const APP_ID = 'Your AppId'
const APP_SECRET = 'Your AppSecret'
const url = `https://api.weixin.qq.com/sns/jscode2session?appid=${APP_ID}&secret=${APP_SECRET}&js_code=${code}&grant_type=authorization_code`
request(url, function (error, response, body) {
if (!error && response.statusCode == 200) {
// 解析响应体,获取openid和session_key
const { openid, session_key } = JSON.parse(body)
// TODO: 将openid和session_key保存到数据库中,作为用户的登录凭证
}
})
- 在小程序的页面中引入wx.getUserInfo()获取用户的基本信息,代码如下:
wx.getUserInfo({
success: res => {
const userInfo = res.userInfo
// TODO: 将用户的基本信息保存到数据库中
}
})
所用API:
-
wx.login():获取用户code
-
微信开放平台接口:https://api.weixin.qq.com/sns/jscode2session
-
wx.getUserInfo():获取用户的基本信息