用户
 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,登录网站

小程序社区 首页 教程 新手教程 入门系列 查看内容

微信小程序登录流程图

Rolan 2017-7-10 00:12

一. 官方登录时序图官方的登录时序图二. 简单理解这里仅按照官方推荐的规范来前置条件一共有三端:微信小程序客户端第三方服务器端微信服务器端客户端获得code,并将code传给第三方服务端微信小程序端调用wx.login, ...

一. 官方登录时序图

官方的登录时序图

二. 简单理解

这里仅按照官方推荐的规范来

  1. 前置条件

一共有三端:

  • 微信小程序客户端
  • 第三方服务器端
  • 微信服务器端

    1. 客户端获得code,并将code传给第三方服务端

微信小程序端调用wx.login,获取登录凭证(code),并调用接口,将code发送到第三方客户端

  1. 第三方服务端用code换session_key和openid

小程序端将code传给第三方服务器端,第三方服务器端调用接口,用code换取session_key和openid

  1. 第三方服务端生成新的session(3rd_session)

第三方服务器端拿到请求回来的session_key和openid,先留着,不能给客户端;然后用操作系统提供的真正随机数算法生成一个新的session,叫3rd_session

  1. 第三方服务端建立对应关系,并存储

将3rd_session作为key,微信服务端返回的session_key和openid作为值,保存起来

  1. 第三方服务端将3rd_session发送到客户端

客户端只拿到3rd_session就够了,大人说话小孩别插嘴,小程序不需要知道session_key和openid

  1. 正常请求

小程序每次请求都将3rd_session放在请求头里,第三方服务端解析判断合法性,并进行正常的逻辑处理。

用心写代码,不辜负程序员之名。


微信小程序特性:

1:小程序使用框架提供的wx.request接口发送https请求不会携带cookie信息,传统webserver的会话管理能力(session)在微信小程序无法直接使用,在这点上微信小程序更像CS架构的开发模式,开发者需要自己实现会话管理功能。如微信本地保存userID,下次进入,判断本地是否有userID,有则直接调接口请求数据,无则重新获取微信code,后台授权,重新登录。登录后再保存userID。
2:小程序源码打包后的大小限制为1M,单次通过网络传输的数据最大也是1M。
3:小程序由于没有包含WebView控件,开发者无法在小程序内部打开一个网页。
4:推送,当用户在小程序内部提交过表单或者完成过支付后,可允许开发者向用户在7天内推送1条预设模板的信息。
5: 建议:开发微信小程序时设计师可以用 iPhone6 作为视觉稿的标准。 
所以工程师拿到750的设计稿,在PS中量取的容器大小,可以直接定义为rpx,不需要进行2倍尺寸的换算。

鲜花
鲜花 (3)
鸡蛋
鸡蛋 (1)

刚表态过的朋友 (4 人)

分享至 : QQ空间
收藏
原作者: 思考的大腿 来自: 博客园

相关阅读