VPS参考测评推荐
专注分享VPS主机优惠信息
衡天云优惠活动
华纳云优惠活动

简介:实现小程序登录授权功能(小程序登录授权2021新版本)

主机参考:VPS测评参考推荐/专注分享VPS服务器优惠信息!若您是商家可以在本站进行投稿,查看详情!此外我们还提供软文收录、PayPal代付、广告赞助等服务,查看详情!
我们发布的部分优惠活动文章可能存在时效性,购买时建议在本站搜索商家名称可查看相关文章充分了解该商家!若非中文页面可使用Edge浏览器同步翻译!PayPal代付/收录合作

简介:实现小程序登录授权功能(小程序登录授权2021新版本)

【相关学习推荐:小程序学习教程】

在我们的日常工作、学习和生活中,微信小程序已经成为我们不可分割的一部分。让我们密切关注它。每当我们使用新的小程序时,我们总是会遇到以下页面:

87124e9520702c0a95a03b66386e57c.jpg

授权登录功能分析tapd_20655371_base64_1663653456_27.png

具体实施主要包括以下三个步骤:

调用wx.login()微信api获取临时登录凭证代码并发送回开发者服务器。

调用auth.code2Session微信api接口获取用户的唯一标识符OpenID、用户在微信开放平台账号下的唯一标识符UnionID和会话密钥session_key。

对步骤2中获得的参数进行解密,获得用户的手机号码、头像等特征,并将所需数据保存在缓存中。

一、获取临时登录凭据代码由于微信官方修改了getUserInfo接口,现在我们无法一进入微信小程序就自动弹出授权窗口,因此我们只能让用户通过按钮按钮手动触发。

让我们编写一个简单的弹出框,它由isShow变量控制。isShow依赖于步骤3中缓存的信息。当所有步骤完成后,用户信息将被正确缓存,此时弹出框将被隐藏,否则将显示弹出框。

1665209888640.png

当需要授权微信账号快速获取个人信息时,点击按钮,调用getUserInfo方法,将isShow设置为false,使用wx.login获取登录凭证代码。

get userinfo:e =》{ this . setdata({ is show:false })wx . log in({ success:function(RES){ let code = RES . code//登录凭证代码}}}第二步,根据登录凭证代码获取用户的登录信息,获取登录凭证代码后调用auth.code2Session微信api接口(这里是服务器操作,后台老板会搞定的,我们直接调用他给我们的接口就可以了)。

wx . request({ URL:auth . code 2 session获取用户信息的微信api接口,方法:‘POST’,数据:{ code:code//登录凭证代码},头:{‘content -type’:‘application/JSON;charset = ut F-8‘},Success:function(RES){ var user phone = res.data.data//Decrypt手机号码var msg = e . detail . errmsg;var session key = user phone . session _ key;//会话密钥var加密数据= e.detail.encrypted数据;//签名var union id = userphone.unionid//唯一标识var iv = e . detail . iv;//授权成功if(msg = =‘getPhoneNumber:ok‘){ wx . check session({ success:function()){//请求服务器解密手机号码this.decryption(会话密钥,加密数据,iv,union ID);}}}}})此时我们已经获取了大部分的用户信息,但是用户的手机号码、用户的头像等信息仍然是加密的,需要解密才能获取这些参数。

3.解密(会话密钥、加密数据、IV、联合ID){ var that = this;wx . request({ URL:解密接口,方法:‘post’,数据:{sessionkey: sessionkey,加密数据:加密数据,iv: iv },头:{‘content -type:‘:‘application/JSON;charset = ut F-8‘},success:function(RES){ let data = RES . data if(data . result code = =‘success‘){ wx . setstoragesync(‘userTel,data . data . phone number);//存储解密后的用户手机号码} else { wx . show toast({ title:‘获取信息失败,请重新授权’,icon:‘none‘})that . setdata({ is show:true })} },Fail:function(RES){ wx。show toast({ title:‘如果收购失败,请重新授权‘,icon:‘无‘})表示。setdata({ is show:true })} } },此时登录授权功能已经完成。

6045b4b0db6d90284057a86181de50f.jpg

【相关学习推荐:小程序学习教程】

以上是简单介绍:实现小程序授权登录功能的细节,更多请关注主机参考其他相关文章!

这几篇文章你可能也喜欢:

本文由主机参考刊发,转载请注明:简介:实现小程序登录授权功能(小程序登录授权2021新版本) https://zhujicankao.com/99794.html

【腾讯云】领8888元采购礼包,抢爆款云服务器 每月 9元起,个人开发者加享折上折!
打赏
转载请注明原文链接:主机参考 » 简介:实现小程序登录授权功能(小程序登录授权2021新版本)
主机参考仅做资料收集,不对商家任何信息及交易做信用担保,购买前请注意风险,有交易纠纷请自行解决!请查阅:特别声明

评论 抢沙发

评论前必须登录!