微信小程序登录授权流程代码:
- 在小程序中引入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():获取用户的基本信息