LOGIN 小程序登录
Reference
III. 一文打通微信小程序登录与授权的任督二脉-理论篇(附代码) 必看!
IV. 头像昵称填写
解答
什么是Open ID ?
微信小程序openid是指用户在使用微信小程序时,微信系统为该用户生成的唯一标识符。 每个用户的openid都是唯一的,并且与该用户的微信账号相关联。 开发者可以通过调用微信小程序开发接口,获取用户的openid,并且使用openid来实现用户身份的识别和管理。
如何获得 App ID, App Secret 和 临时登录凭证 code ?
App ID 和 App Secret 可以在微信公众平台,[开发] 》 [开发管理] 》[开发设置] 》[开发者ID]

临时登录凭证 code 可以通过调用 wx.login() 来获取,wx.login() 使用办法可参考 如何获得 Open ID.
如何获得 Open ID ?
当用户访问小程序时,首先在 app.js 中调用 wx.login() 来获取用户的临时登录凭证 code,并将其发送到开发者的服务器接口code2Session{https://api.weixin.qq.com/sns/jscode2session}进行核实和检验,检验成功后会返回session_key 和 openID 等等 回小程序。
格式为:
https://api.weixin.qq.com/sns/jscode2session?appid={$appid}&secret={$secret}&js_code={$code}&grant_type=authorization_code
举例:
https://api.weixin.qq.com/sns/jscode2session?appid=wxf26991ae11f547d0&secret=657rbd9a61bacd11e75181ca94a88aed&js_code=0d2fm80w3w1QC13OG01w3WpKqH3fm80X&grant_type=authorization_code
实际应用:
返回:
{session_key: "FtWHc5J5iGskfJvBDe+IUw==", openid: "oLxmG61mb5SCBhfQMd_5y_xGqz18"}
实现微信小程序登录的理论


在
app.js中,使用 wx.login() 获取用户的登录凭证 code,并将该 code 通过 wx.request() 发送到verify_user.php. 返回的数据可以通过wx.setStorageSync() 将数据存储在本地缓存中。
在
verify_user.php中,PHP 脚本接收来自小程序的 code,并使用该 code 向微信 API 的 jscode2session 端点发送请求,以获取用户的 OpenID。然后,开发者可以检查mySQL数据库中是否存在该 OpenID 用户。如果存在,返回用户数据为 "Existing";否则返回 "Not Existing" 到小程序。
如果返回的数据为 Not Existing", 那么便导向用户到注册页面。小程序提供了头像昵称填写, 如图下:
开发者可将收集到的头像和昵称储存到数据库以实现注册和登录的功能。以下是实体例子:
login/index.wxml
收集用户头像和昵称的表格
login/index.js
将昵称和Open ID 发送到 login_user.php。
后台服务器的 login_user.php
将用户名和Open ID保存到数据库中,并将头像保存到服务器的avatar 文件夹里。
Last updated