Sessio_Key

Session_Key

小程序用户身份的唯一性基于openid判断,多平台情况下使用unionid(也是唯一的)

openid——每个用户在某个微信公众号的账户(唯一的)

那么如果同一个公司有多个公众号,他希望多个公众号之间用户的账号可以通用,于是,微信提供一种打通机制,就是使用同一个账户可以登录多个公众号,就是unionid

官方说明

如果开发者拥有多个移动应用、网站应用、和公众帐号(包括小程序),可通过unionid来区分用户的唯一性,因为只要是同一个微信开放平台帐号下的移动应用、网站应用和公众帐号(包括小程序),用户的unionid是唯一的。换句话说,同一用户,对同一个微信开放平台下的不同应用,unionid是相同的。

获得了开放平台认证的企业,可以绑定10个手机应用、10个网站、10个公众号,他们对应的用户信息也可以互联互通。

注意:

对于开发团队而言,在接入微信登录之初,往往会忽视用户的UnionID,
只记录了openid。
这会导致后期账号打通时候,需要用户重新授权

在实际应用中使用到sessionKey的场景的并不多,比如获取用户的openid或者unionid,具体方法如下

 wx.login({
    success: function(res) {
    console.log(res.code)    //这就是code  
 });

开发者需要将 code 发送到开发者服务器后台,使用code 换取 session_key api,将 code 换成 openid 和 session_key .,不在网络传输,建立自己的SesstionID和生成的SessionKey的对应关系。然后把生成的SessionID传输到小程序客户端,在小程序本地缓存。

获取手机号需要用到有效 的SessionKey,SessionKey有个过期时间,要注意的问题就是解密用的SessionKey和与加密用的SessionKey是不是同一个,有的时候可能会出现有时候能解密,有时候不行。

小程序提供wx.checkSession()来检查SessionKey有没有过期,如果已经过期,就重新wx.login()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值