扫描二维码登录的过程?

二维码登录实际上和用户名密码登录要做的事情一致,账号告诉服务器「我是谁?」,密码是向服务器证明「我是我」。扫码也是一样。

下图是一个基础的客户端账号密码认证过程:

然后想一下二维码登陆时的场景:

二维码分为三个状态,展示二维码、扫码成功待确认、成功登录。

 步骤:
1.用户打开网页端二维码,此时二维码会生成一个特有的id标记
2.服务端和二维码会有一个轮询策略,不停询问网页端是否拿到token
3.用户拿着手机打开二维码,会生成一个临时token。
4.当用户扫描二维码,确认登录,会将临时token与二维码id传到服务器
5.轮询策略查出服务器有与客户端id一致,且token通过非对称加密解析到数据
6.登录成功

 为什么要有token?

重点是解决非同一设备的双方如何协同进行认证。双方如果有一方是假的,那信息就会泄露给假的那一方,这也是早期QQ盗号的方法之一,做一个和官方一样的假页面,你在里面输入账号密码,你以为你登录的是官方,其实信息已经发给制作这个假网页的人了。这个过程之所以复杂,是因为进行了多次的跨设备信息传输,过程中为了保障安全,每一个请求都要携带加密过的token,否则被拦截之后,别人就可以拿着这个token去和你做相同的请求,实现把你的账号登录在他的设备上的操作。

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
uniapp扫描二维码的全过程可以分为以下几个步骤: 1. 首先,你需要在uni-app中调用uni.scanCode()方法来调起手机摄像头进行扫描。这个方法可以同时从相机和相册中扫描二维码,并返回扫描结果。\[2\] 2. 当扫描成功后,你可以通过success回调函数获取到扫描的条码类型和内容。你可以使用console.log()方法将这些信息打印出来,或者根据需要进行其他操作。\[2\] 3. 如果你想将扫描结果显示在页面上,你可以通过input输入框来获取扫描内容。你可以在input标签上使用v-model指令来绑定扫描结果的变量,这样当扫描成功后,扫描结果会自动显示在输入框中。\[3\] 4. 如果你希望在扫描后自动跳转到指定页面,你可以在扫描成功后使用uni.navigateTo()或uni.redirectTo()方法来进行页面跳转。你可以在跳转时传递扫描结果作为参数,以便在目标页面中使用。\[1\] 综上所述,uniapp扫描二维码的全过程包括调起摄像头扫描、获取扫描结果、显示结果在页面上以及根据需要进行页面跳转等步骤。你可以根据具体需求来实现这些功能。 #### 引用[.reference_title] - *1* [uni-app - [最详细] 实现手机扫描二维码并跳转全过程示例代码,用户扫码后自动跳转到链接、指定网页、本地...](https://blog.csdn.net/weixin_44198965/article/details/102771253)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [uni-app开发经验分享十三:实现手机扫描二维码并跳转全过程](https://blog.csdn.net/qq_40716795/article/details/114028481)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [【五一创作】uniapp PDA扫码枪获取扫码数据APP(通俗易懂),频繁弹软键盘等各种坑完美解决方法,附完整...](https://blog.csdn.net/qq_23073811/article/details/130470412)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值