大白话理解-微信小程序的授权登录

学习改文章,您就有清晰的微信小程序授权思路,前后端遵循开发规矩即可
当然更加完善的实现办法要去看官方文档的推荐
学习前建议看看授权大白话理解-微信小程序获取授权

文章目录

    • 大白话讲步骤:
      • 按照最常见的,点击一个按钮进行登录
        • 1. 前端写一个button 按钮点击调用一个方法
        • 2. 前端点击button后,该调用的该方法里面写wx.login( ) 方法,这时候你会获得一些数据
        • 3. 后端怎么进行登录凭证?
        • 4. 前端拿到后端返回的数据了
        • 5. 后端拿到数据后
        • 6. 前端拿到数据后:
    • 以上总结
      • 疑问1:后端该怎么解密?我确实拿到了前端给的encrypted 和 iv,但解密代码怎么写?
      • 疑问2:下载了里面有什么类型的后端代码?


大白话讲步骤:

按照最常见的,点击一个按钮进行登录

1. 前端写一个button 按钮点击调用一个方法

2. 前端点击button后,该调用的该方法里面写wx.login( ) 方法,这时候你会获得一些数据

  1. 其中code才是我们需要的

  2. 代码展示 在这里插入图片描述

  3. 有了code之后,我们应该用wx.request( )发送一个请求把他传给后端,因为后端才可以通过这个code来进行登录凭证

3. 后端怎么进行登录凭证?

  1. 后端要通过微信提供的接口,然后把从前端拿到的code,再转发发送到微信服务器获得信息
  2. 微信服务器提供的接口是:https://api.weixin.qq.com/sns/jscode2session?appid={0}&secret={1}&js_code={2}&grant_type=authorization_code
    后端就是通过这个发送get请求给微信服务器的
  3. 上面的appid , secret , js_code 后面的三个参数就是要替换的
    1. appid是应用id,通过登录微信公众号后台去获取的
    2. secret是应用秘钥,也是通过微信公众号后台去获取的
    3. js_code就是我们前段发送wx.request()传过来的code数据
  4. 为什么这么做?因为appid,secret是微信给每一个开发者账号独一无二的"身份证",让你们合法合规的去获取用户的微信账号信息,如果你们敢乱来的话,那就…,微信小程序也是实名了的。嗯…
  5. 这时候后端通过get请求获取到了官方给你们返回的用户信息了(返回的信息里面openid和session_key 等信息),我们就是要取openid和session_key这两个信息(openid是独一无二的)
  6. 拿到这两个数据后后端服务器要保存,然后返回一个token给前端(这个token能和openid和session_key关联就可以,但是非常不推荐直接返回openid 和 session_key)

4. 前端拿到后端返回的数据了

  1. 拿到token,就存进storage里面了,有这个token且未过期就代表你是合法的了,你可以结合微信授权用户信息–wx.getUserInfo( )来拿他个人具体信息了

在这里插入图片描述

  1. 微信服务器返回的res就是他本人授权登录的账号信息,但是res里面有很多信息,想要她的具体数据,我们需要哪一些?
    1. encrytedData:(这一段非常长的数据正是用户信息严格加密后的数据)
    2. iv:是加密算法的初始向量
  2. 我们拿到上面的encrytedData,iv,再加上之前向后端要的能和openid、session_key关联上的token,一并wx.request( )发给后端

5. 后端拿到数据后

  1. 用他传过来的【encrypted 结合 iv】 对 【openid 和session_key】进行解密
  2. 然后解密得到重要的数据,返回给了前端

6. 前端拿到数据后:

  1. 渲染数据
  2. 或进一步对数据做出处理

以上总结

  1. 以上整一个过程就是前后端的执行过程,先是wx.login( )登录,得到了code,然后去微信服务器上面换取openid 和 session_ky
  2. 前端得到用户授权,然后就有了用户的独一无二的encrypted 和 iv,这是用户的信息
  3. 把这个encrypted 和 iv 给到后端 ,后端就结合之前用户登录得到的session_key进行解密
  4. 解密后得到他的具体信息,返回前端

疑问1:后端该怎么解密?我确实拿到了前端给的encrypted 和 iv,但解密代码怎么写?

  1. 在微信文档里面都有了 — 点我跳转去看

  2. 在这里插入图片描述

  3. 官方文档安排的明明白白的

疑问2:下载了里面有什么类型的后端代码?

在这里插入图片描述
1.有以上四种类型的代码,可以直接复制粘贴来跑,按照他的接口就可以
2. 像Java之类的,百度上面有很成熟好用的解密类,百度就可以下载

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/71489.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

剪映的相关介绍

剪映快捷键 更改全局设置 定格:截取视频中的一帧生成图片(3秒) 镜像:将视频左右翻转 联动:开启联动,视频轨道上方的字幕或文字轨道能够随视频移动 关闭原声:视频中的原声将不播放 关闭原声&…

剪映使用教程

目录 剪映常用功能 剪映常用功能

剪映电脑版画中画在哪?

剪映是一款功能全面的视频剪辑软件,很多用户都在使用剪映制作视频并上传到短视频平台。那么剪映电脑版怎么实现画中画呢?下面小编要教给大家的就是电脑版剪映添加画中画的教程。 电脑版剪映怎么画中画 1、打开电脑版剪映。点击开始创作按钮。 2、点击想要…

使用剪映提取视频中的字幕并导出(txt或srt格式)

需要使用剪映电脑版,打开之后 第一步:选择“音频”—>“音频提取”—>“导入” 在弹出的界面中选择需要的导入的视频,或者直接将视频拖入到“导入”框中 第二步:将导入的视频拖到下方的音频轨道 第三步:识别字…

【剪映】基础剪辑 | 实用技巧

文章目录 前言文本制作敲击键盘字幕(打字机效果) 图片视频为一点视频同时添加入场和出场效果 前言 记录本人在使用剪映进行创作的过程中,总结的一些实用技巧。 文本 制作敲击键盘字幕(打字机效果) 1、添加打字机文…

剪映电脑版使用教程(超详细)

目录 页面设置 流程 素材详解 1. 导入素材 2. 注意导入素材的格式 3.添加素材到时间线面板 4.素材的删除 5.素材的分割 6.素材的伸缩 时间线面板详解 1.多条轨道的重叠 2.多条轨道的素材导入 3.多条轨道的分割 4.定格功能 5.倒放功能 6.镜像和关闭原声 7.旋转功…

微信内使用支付宝支付

1.支付宝手机网站支付部分代码: 需要注意的是AlipayTradeService.php的aopclientRequestExecute()方法需要修改 if (!empty($oid)&& trim($oid)!""){//商户订单号,商户网站订单系统中唯一订单号,必填$out_trade_no $oid;…

Android 微信支付 支付宝支付简单使用

微信支付: 1.添加依赖: implementation com.tencent.mm.opensdk:wechat-sdk-android-with-mta:2. 报名下建文件夹wxapi . 3. 我这里是有一个分享的回调 不用管那个 支付需要的是WXPayEntryActivity这个 public class WXPayEntryActivity extend…

支付宝,微信在没网络的情况下还能支付,是如何实现的?需要什么支持?

上次,我去医院挂号的时候,在手机欠费没有网络的情况下,抱着试试看的心态打开了支付宝的付款码,挂号窗口的工作人员用扫码枪扫了一下,居然也扣款成功了。然后我就感觉很神奇,到底是怎么支付成功的。经过我咨询客服以及上网查询相关资料后,终于了解了这其中的奥妙,其实也…

第三方支付接入(微信,支付宝)

写在最前面 以下内容关于微信相关的,除了binarywang,个人认为都不要再用了。相比较王大哥的封装,我自己写的真是连弟弟都不如。 支付宝相关的,好久不用了,不知道还能不能工作。建议找创建时间比较新的文章来看。 关…

WooCommerce接入支付宝微信支付

WooCommerce接入支付宝微信支付 前言安装支付宝插件(方法一)安装配置获取注册信息 安装支付宝插件(方法二)安装微信支付插件下载及安装获取微信公众号APPID,微信支付密钥获取微信公众号的AppID(应用ID&…

Android接入支付宝和微信支付

本文首发于公众号“AntDream”,欢迎微信搜索“AntDream”或扫描文章底部二维码关注,和我一起每天进步一点点 前言 很多APP都需要支付功能,国内一般就是支付宝和微信了。目前这2种接入方式对于APP端来说都已经比较方便了,因为大部…

微信推送和支付宝付款接口的使用

我们在开发的过程中经常会碰到调用微信或者支付宝接口进行付款,付款完成之后,如果用户绑定了我的账号,我只要有活动了,就要给这个关注我的用户推动消息,让用户知道,比如说,我们经常会关注一些公…

网页调起支付宝付款和微信付款

网页调起支付宝付款和微信付款 昨天在指导客户制作付款网页的时候写了部分说明文档,觉得其中有很多对第一次接触这方面的人能有所帮助,在此分享一下 调起付款的步骤 1.获取微信code(支付宝是auth_code,以下统称code) 不论是微…

个人如何接入支付宝或者微信支付等支付接口

企业途径:直接注册一个有资质的公司,并把工商局下发的企业许可证传给支付宝或者微信,让它们进行资质审核认证,如果微信或者支付宝觉得你的资质足够跟他们合作了(整体来说很困难,不怎么容易达到足够的资质&a…

设计聊天机器人,5个误区小心别踩

设计聊天机器人,5个误区小心别踩! 最近一段时间,各种AI对话工具大火,海外有ChatGPT,国内有百度下面的文心一言。越来越多人开始将智能工具搬到了自己的产品里。 而市场上有很多聊天工具都有自动化的功能,虽…

世界上最复杂的函数_巨蟹座是世界上最懒的星座。

01 巨蟹座是世界上最懒的星座。 1、世界上最懒的星座,别人整点拖延症,巨蟹整年拖延症。 让ta学习、工作、运动、洗头的最好方式是拿枪顶脑袋。 2、自我保护意识无比强! 敏感排行居首位! 自己说的话百般酝酿,别人说的话…

巨蟹座适合计算机应用和文秘,业务能力强 适合当秘书的星座

十二星座中,每种星座擅长的领域都不一样。有些人适合当老板,有些人适合当员工,有些人适合当秘书。一般来说,秘书是一个非常难做的位置,甚至比老板和员工还要辛苦。不过,对于下面这几个星座来说,…

巨蟹座 55e外表达2000度 火山活泼岩浆遍布

巨蟹座 55e外表达2000度 火山活泼岩浆遍布 这个发明暗示巨蟹座 55e这个超级地球的外表十分杂乱,猛烈的火山喷发招致熔岩流遍及寰球,全部地表大局部被掩盖着滚烫的火山喷发物。假如巨蟹座 55e 与木卫一进行对照,那可以巨蟹座 55e 更“绚烂”一…

计算机专业巨蟹座男生,巨蟹座男生适合的职业

巨蟹座男生适合的职业 巨蟹座是一个重视生活细节的星座,只要和生活有关的事物都会引起蟹子的重视。虽然做事低调的性格使蟹子更喜欢从事一些非前线的工作,但懂得如何掌握人心,在职场上往往也最容易展现人事处理的才干。所以蟹子最适合服务业&…