小程序登录小程序怎么获取openidd要怎么操作?

这篇文章主要介绍了微信小程序洳何小程序怎么获取openidd及用户信息具有一定的参考价值,感兴趣的小伙伴们可以参考一下

微信小程序小程序怎么获取openidd及用户信息的方法

session_key其中 session_key 是对用户数据进行加密签名的密钥。为了自身应用安全session_key 不应该在网络上传输。

2.2 实例化全局方法获取用户信息

//调用应用实例的方法获取全局数据

以上就是本文的全部内容希望对大家的学习有所帮助,更多相关内容请关注PHP中文网!



以上就是微信小程序如何小程序怎么获取openidd及用户信息的详细内容更多请关注php中文网其它相关文章!


微信的默认demo其中有一段是涉及到鼡户的用户信息的我们在里也看到了我的头像和昵称信息。

上述js的小程序代码大致逻辑为:

在调用 wx.login 并且执行成功之后将请求到的code值post到我們自己的服务器上面在服务器上请求微信服务器的API,微信服务器得到正确值之后会得给到openid和session_key

在之前的公众号开发时,我们可以直接使鼡openId来作为用户的标识在小程序中我们同样可以使用该字段。只是该字段没有显式的表示出来而是通过res.encryptedData里。

通过之前的截图可以看出encryptedData昰通过加密的数据,根据 官方文档 解释我们只要使用指定的算法来解密就可以得到我们想要的openID。

  • 对称解密算法初始向量 为Base64_Decode(iv)其中iv由数据接口返回。

官方也给出了几种语言的 demo解密程序

通过这种方式不仅可以获取到用户的openid,也可以获取到用户的unionId

方式一可以直接获取到了用户的openid,泹是没办法获取到unionId,如果咱们程序需要用到unionId的话就没有办法肯定得用第二种方法了,如果只是为了获取到openId那可以使用方式一来获取

不過方式二相比方式一相对复杂,需要通过第一步获取到的session_key再解密数据。也就是想要使用第二种方式的话其实第一种方法也得走一遍

最後,从安全性来将当然方式二更安全一点

 //调用应用实例的方法获取全局数据
 
 
 

这一篇介绍了获取用户openid的两种方式,并使用第一种方式结合flask框架写了一个demo程序

其中还用到了小程序API当中的一个非常重要的接口,就是 wx.request 也就是通过该接口向我们自身的业务服务器请求数据,有点類似js中的ajax的作用从《微信web开发者工具》的调试界面也可以看出其实际上就是通过xhr的方式来请求我们的业务服务器。

另外需要说明的是微信的小程序本身禁止使用ajax来请求网络资源

下一篇小猪将重点介绍使用方式二来解密用户的数据,服务器端代码同样使用flask来实现


参考资料

 

随机推荐