Fork me on GitHub

小程序的登录流程

原创文章,未经允许,请勿转载

sequenceDiagram 小程序前端->>微信客户端API: wx.login Note over 小程序前端,微信客户端API: 静默进行,不会弹出授权弹窗 微信客户端API->>小程序前端: code 小程序前端->>小程序服务端: code 小程序服务端->>微信服务端API:code appid secret Note over 小程序服务端,微信服务端API: 请求 jscode2session 接口 微信服务端API->>小程序服务端:openid session_key

如果小程序只需要识别用户,而不需要获得用户的昵称等信息,那么整个过程是没有弹窗授权操作的,如果需要进一步获得用户信息,则需要放置下面这个按钮

<button open-type="getUserInfo" lang="zh_CN" bindgetuserinfo="onGotUserInfo">获取用户信息</button>

这个按钮点击会弹出授权框,onGotUserInfo回调方法内可以获得用户信息和签名,小程序服务端使用session_key和用户信息做sha1运算后和签名校验用户信息

sequenceDiagram 小程序前端->>微信客户端API: button open-type="getUserInfo" Note over 小程序前端,微信客户端API: 会弹出授权弹窗 微信客户端API->>小程序前端: rawData signature 小程序前端->>小程序服务端: rawData signature Note right of 小程序服务端: 使用session_key校验

来源:悠游悠游,2019-05-28,原文地址:https://yymmss.com/p/mp-login-desc.html