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

如何实现小程序的登录和授权(微信小程序登录授权流程)

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

如何实现小程序的登录和授权(微信小程序登录授权流程)

登录:

如果我们想登录小程序,不妨在打开小程序时尝试登录。也就是说,我们可以在app.js中的onlaunch方法中添加小程序登录代码

如下所示:

//微信登录方法wx . log in({ success:RES = & gt;{//登录成功后,将返回微信提供的代码,该代码用于使用console . log(& quot;代码& quot资源代码);//发送请求wx . request({ URL:this . global data . URL+&;#39;登录/& amp;#39;,数据:{ code:res.code },标头:{ & quot内容-类型& quot:& quot应用程序/JSON & quot;},方法:& quot帖子& quot,success:function(e){ console . log(e)//请求成功后会返回一个自己后端生成的令牌用于其他操作的验证,并将令牌保存在本地wx . setstoragesync(& quot;令牌& quot,e . data . data . token)})//将res.code发送到后台以换取openId,sessionKey,unionId}})后端代码:

from rest _ framework . views import API view from rest _ framework . response import response from app 01 . Wx import Wx _ log in from django . core . cache import cachefrom m app 01 import models import time import hashlibclass log in(API view):def post(self,request):param = request . data if param . get(& quot;代码& quot):#Wx_login是微信提供的登录方式,这里的数据已经有了session_key和openid。data = wx _ log in . log in(param . get(“code & quot;))如果数据:# 1 session_key+时间戳直到一个密钥。(MD5 MD5 = hashlib . MD5()MD5 . update(data . get(“session _ key & quot;).编码(& quotutf8&quot)MD5 . update(str(time . time())。编码(& quotutf8&quot))key = MD5 . hex digest()# 2 session _ key与openid绑定,直到val val = data . get(& quot;会话密钥& quot)+& amp;#39;& amp& amp#39;+data . get(& quot;openid & quot)# 3 key -》;Val保存到redis,cache . set(key,val)# 4将openid保存到数据库user _ data = models . wxuser . objects . filter(OpenID = data . get(“OpenID & quot;)).first()如果不是user_data: models。wxuser . objects . create(OpenID = data . get(& quot;openid & quot))#5返回小程序返回响应的密钥({ & quot代码& quot:200味精& quot:& quotsuc & quot,& quot数据& quot:{ & quot令牌& quot:key}})否则:返回响应({ & quot代码& quot:202味精& quot:& quot无效代码“})else:返回响应({ & quot代码& quot:201味精& quot:& quot缺少参数“})Wx _ log in

导入请求# appid = { } & amp秘密= { } & ampJs _ code = {} from app01.wxport设置def登录(代码):# code2session是wx提供的url。填写您的appid和appsecret以及codeurl =设置。code2session.format(设置。appid,设置。appsecret,code)response = requests . get(URL = URL)#由前端发送以获取具有session_key和openid的数据。data = reponse . JSON()print(data)if data . get(& quot;会话密钥& quot):返回数据否则:返回错误设置

#您注册的小程序的appid和appsecret,code2Session由官方提供。Pay_mchid是店铺号,需要营业执照才能办理,不能自己办。AppId = & quotwx 69 a 0 DC a5c 6 b 02 a 43 & quot;AppSecret = & quot9d0f 80642 f 4861 b 53 df 04 a 2f 7 BD 65a 59 & quot;code 2会话= & quothttps://api.weixin.qq.com/sns/jscode2session? appid = { } & amp;秘密= { } & ampjs _ code = { } amp;grant _ type = authorization _ code & quotpay _ mchid = & amp#39;1415981402。#39;pay _ apikey = & amp#39;Xi 34 nu 5 jn7x 2 uu JD 8 u 4 jii JD 2 u 5d 6j 8 e & amp;#39;这就完成了登录。

批准

Html只是一个带有点击事件的按钮,所以你不用写它。主要看点击事件是做什么的。

luying:function(){//该方法的作用是获取配置,查看所有权限wx . get setting({//获取成功后输入success(RES){ console . log(& quot;res & quot,RES . auth setting【& amp;#39;范围、记录和#39;】)//authSetting是该权限的列表。这句话是看有没有许可如果(!RES . auth setting【& amp;#39;范围、记录和#39;】){//如果你没有权限,你会带着这句话。这个方法的作用是获取权限wx . authorize({//固定写权限是scope.xxx这样的作用域:&;#39;范围、记录和#39;,success(){//用户已经同意使用小程序的录音功能,后续调用wx.startRecord接口不会弹出询问wx . start record()}。//上述访问权限在失败前已经被调用过,如果不给予权限将采取此方法。fail(){ console . log(& quot;您没有授权“)} } } else {//wx . start record()} } },(学习视频分享:php视频教程)

访问用户信息

因为用户信息可能会带来一些敏感信息,如session_key或openid等。,如果您想在前端获取信息,您必须请求许可。

需要注意的是,这种做法是错误的。

& lt按钮绑定:tap = & quot信息& quot& gt用户信息

& lt按钮打开-type = & quot;getUserInfo&quotbindgetuserinfo = & quotinfo1 & quot& gt获取用户信函

info 1:function(RES){ console . log(RES,& quotbutton“)//wx . get userinfo({//success:function(RES){//console . log(RES,& quot用户信息“)//}/})var that = This//此方法用于查看您的session_key是否已过期wx . check session({ success(){/session _ key未过期。以及wx . request({ URL:app . global data . URL+“userinfo/& quot;,数据:{//这个东西就是用户信息,里面包含敏感信息。单击按钮时出现的是加密数据:res.detail.encrypted。//同上。也是点击时进来的IV:RES . detail . IV//登录成功后返回的令牌取令牌:wx . getstoragesync(& quot;令牌& quot)},头:{ & quot内容-类型& quot:& quot应用程序/JSON & quot;},方法:& quot帖子& quot,success:function(e){ console . log(e)}},fail(){/session _ key已过期,登录过程wx . log in()//再次登录} }相关推荐:小程序开发教程。

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

本文由主机参考刊发,转载请注明:如何实现小程序的登录和授权(微信小程序登录授权流程) https://zhujicankao.com/114880.html

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

评论 抢沙发

评论前必须登录!