小程序 - 小程序授权登录分析

微信小程序登录

小程序可以通过微信官方提供的登录能力方便地获取微信提供的用户身份标识,快速建立小程序内的用户体系。

微信小程序登录流程时序图

 

 

转自: 微信小程序登录流程图

具体解析

  • 小程序(小程序前端 uni-app实现
  • 开发者服务器(小程序后端 java实现
  • 微信接口服务(微信官方api)

1、前端获得code值,并将code传给后端

小程序前端调用wx.login,获取登录凭证(code),调用api(后端提供),将code传到后端。

 https://api.weixin.qq.com/sns/jscode2session?appid=APPID&secret=SECRET&js_code=JSCODE&grant_type=authorization_code

2、后端用code换session_key和openid

小程序前端将code传给第三方服务器端(java端),后端调用微信服务器端api,得到session_key和openid。

3、自定义登录状态 & 通过自定义的登录状态查询 (本地开发时可以先不实现)

调用 auth.code2Session 接口,换取 用户唯一标识 OpenID 、 用户在微信开放平台帐号下的唯一标识UnionID(若当前小程序已绑定到微信开放平台帐号) 和 会话密钥 session_key

4、返回业务数据

通过后端api返回数据到前端。

注意:

  • 临时登录凭证 code 只能使用一次
  • 会话密钥 session_key 是对用户数据进行 加密签名 的密钥。为了应用自身的数据安全,开发者服务器不应该把会话密钥下发到小程序,也不应该对外提供这个密钥

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值