手机扫码登录的实现原理

       我们经常可以看到用户在手机app端登录系统后,在web端使用网站时,经常可以看到扫码登录的操作,那么这种操作时如何实现的。我们下面一探究竟。

        扫码登录的本质是,通过已经登录过的 App 应用,扫描未登录的 Web 端程序中的二维码, 通过某种机制触发登录凭证的写入从而实现 Web 端自动登录。

1.首先,在网页端打开登录页面,展示一个二维码,这个二维码有一个唯一编号是服务端生成的。然后浏览器定时轮询这个二维码的状态。

2.接着,APP 扫描这个二维码,把 APP 的 token 信息、二维码 ID 发送给 Server 端,Server 收到请求后修改二维码的扫码状态,并生成一个临时 token.

3.此时,网页端展示的二维码状态会提示已扫码,待确认。 而 APP 端扫码之后,会提示确认授权的操作。临时token与token一样,不同的地方在于它只能用一次,用过就失效。(注意此处:为啥要用临时token,为的就是手机端在下一步点击确认操作时,可以用它作为凭证,以此确保扫码,登录两步操作是同一部手机端发出的。)

4.于是,用户确认登录后,携带临时 token 给到 server,server 端修改二维码状态并为网页端生成授权 token

5.最后,网页端轮询到状态变化并获取到 token,从而完成扫码授 

  • 8
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值