微信小程序关于获取code注意点

微信小程序关于获取code注意点,第1张

当我们使用wx.login来使用返回的res.code去换取我们在接口中需要的code值的明局时候,可能一个正槐悄页面不止一个地方是需要这个code值的时候,那个时候我们就不应该将获取code的方法直接放在onLoad方法或者组件刚一开始加载的生命周期函数中,这样会出现bug,报出下面这个错误

解决办法:那个部分或者说哪个方法需要这个code值,就直接写在这个方举渣法里面,例如下方(注:如果页面上只有一个地方需要,我们可以写在onLoad中或者单独需要这个code值的方法中。)

微信小程序获取用户信息的接口确实已经被封了,因此现在需要使用微信登录的方式进行用户身份验证和获取用户信息。在小程序中首先通过wx.login()接口获取用户登录凭证code,然后在小程序后台配置开发者运逗迅服务器地址和域名,指卖在开发者服务器端使用code请求微信服务器获取openid和session_key等信息。之后就可以得到openid等用户信息并存储到开发者服务器端进行相关业务逻辑处理。同时需要注意需要在小程序旁此中进行用户授权,以获取用户允许授权后的信息。

其实还蛮简单的,可以说一搜一大把,下面说下两种方式。

自行开发

主要就是通过小程序端直接请求登录获取到code(登录凭证)、如果需要获取用户手机号则需要再次授权需要iv和encryptedData,注意这里前基授权两次,也可以作为一次处理。

(1) 后端接收到小程序端请求的code,进行解密,可以参考微信小程序开发文档,拿到openId和session_key,这一步如果是已经注册的用户可以直接将后台分配的token一起组成对象存储到redis中,期限7-30天皆可,先从redis判定这个openId是否已经解析过且已存储为正式用户,是慧团谨则直接返回系统的登录凭证完成登录。如果不是就需要走第二步。

(2)通过iv和encryptedData解析获取用户的手机号,完成解析后将用户信息存储,并一样存储到数据库和redis中,返回凭证。

2. 使或茄用已经集成好的sdk,使用maven项目直接引入对象的jar即可。

举个栗子 weixin-java-miniapp 可以看下对应的文档说明,使用已经集成好的方法即可。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/12325847.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存