主机参考:VPS测评参考推荐/专注分享VPS服务器优惠信息!若您是商家可以在本站进行投稿,查看详情!此外我们还提供软文收录、PayPal代付、广告赞助等服务,查看详情! |
我们发布的部分优惠活动文章可能存在时效性,购买时建议在本站搜索商家名称可查看相关文章充分了解该商家!若非中文页面可使用Edge浏览器同步翻译!PayPal代付/收录合作 |
【相关学习推荐:小程序学习教程】
在我们的日常工作、学习、生活中,微信小程序对于我们来说是离不开的。 。 请注意,每当您使用新的小程序时,您都会看到以下页面:
授权登录功能分析
主要实现如下接下来。 接下来三步:
微信API调用wx.login()获取临时登录凭证代码并发回开发者服务器。
auth.code2Session 调用微信API接口,获取用户唯一标识OpenID、用户唯一标识UnionID、微信开放平台账号会话密钥session_key
步骤 解密参数步骤2中获取的获取用户的手机号码、头像等特征,并将必要的数据存储到缓存中
1. 获取临时登录验证码
微信官方已经更改了getUserInfo接口,所以现在无法实现。 现在只要进入微信小程序就会自动弹出认证窗口。 所以我们只想允许用户使用按钮手动触发身份验证窗口。
首先,创建一个简单的弹出框,控制如下。 isShow 变量,isShow 取决于步骤 3。 完成所有步骤后,用户信息将被正确缓存。 此时,弹出框被隐藏。 否则,将会出现一个弹出框。
要先获取个人信息需要身份验证 微信账号快速认证
点击按钮时,调用getUserInfo方法,isShow设置为false,使用wx.login获取登录信息使用:凭证代码
getUserInfo :e=>{ this.setData({ isShow:false }) wx.login({ success: function (res) { let code = res.code // 登录凭证代码 } }) }2.根据登录凭证代码获取用户的登录信息
获取登录凭证代码后,auth.code2Session微信我们调用API接口(这是服务器端操作),后端老大处理,我们直接调用他)
wx.request({ url : auth.code2Session 获取微信API接口用户信息,Method: 'POST', Data: { code:code//登录凭证code }, Header: { 'content-type': 'application/json=UTF[k3; ]8' },成功:函数(解析){var userphone= res.data.data //解密手机号码 var msg = e.detail.errMsg; var sessionKey = userphone.session_key;//会话密钥 var cryptoData=e.detail.encryptedData; //签名 var Unionid = userphone .unionid//唯一标识 var iv= e.detail.iv; //授权成功 if (msg == 'getPhoneNumber:ok') { wx.checkSession({ success:function(){ //请求服务器解密手机号 this.decyption(sessionKey,encryptedData,iv,unionid); } }) } } }) } })
此时,我们已经掌握了用户的大部分信息,但是用户的手机号码、用户头像等信息仍然是加密的。 您需要解密它才能获取这些参数。
3、根据用户信息解密并找回用户。 手机号码解密(会话)Key,encryptedData,iv,unionid){ var that = this; wx.request({ url: 解密接口, method: 'POST', data: { sessionKey: sessionKey, cryptoData:encryptedData, iv: iv }, header: { ' content-type': 'application/json;charset= UTF-8' }, success: function(res) { let data = res.data if (data.resultCode == 'success') { wx.setStorageSync('userTel', data.data.phoneNumber);//保存解密后的用户手机号码}else{ wx.showToast({ title: '失败请重新验证', icon: 'none' }) that.setData({ isShow:true }) } }, failed:function(res) { wx.showToast({ title: "检索失败,请重新验证", icon: '无' }).setData({ isShow:true }) } }) },
授权登录功能目前已完成
【相关学习推荐:小程序学习教程】
PHP快速学习视频免费教程(从入门到精通)
如何学习PHP? 怎样才能快速学习PHP呢? 这里有简单的 PHP 学习教程(从初学者到专家)。 您可以保存并下载您想学习的朋友。
下载
这几篇文章你可能也喜欢:
- 来说说微信小程序中的事件绑定(微信小程序中的一个按钮可以绑定多个事件吗?)
- 增强微信小程序基本概述(微信小程序基础知识)
- 微信小程序列表渲染示例介绍(小程序渲染HTML代码)
- 微信小程序窗口导航栏配置(详细示例)(微信小程序导航栏系统按钮)
- 微信小程序支付中如何操作Paysign二次加密(2022年10月最新)
本文由主机参考刊发,转载请注明:简介:实现小程序的授权登录功能 https://zhujicankao.com/140330.html
评论前必须登录!
注册