Skip to content

Instantly share code, notes, and snippets.

@dailc
Created April 27, 2017 06:44
Show Gist options
  • Save dailc/b356dfee8de4a82825733b097498bac1 to your computer and use it in GitHub Desktop.
Save dailc/b356dfee8de4a82825733b097498bac1 to your computer and use it in GitHub Desktop.
[二维码扫码登录] 二维码扫码登录的原理 #tags: 扫码登录
1.打开网页,网页跳出一个登陆二维码
* 这时候网页已经和服务器建立了一个阻塞的长连接(或者是轮询也可以),此时会有一个唯一UUID(并且这个UUID嵌到了登录二维码中)
* 网页和服务器会通信(长连接或轮询)
2.用户看到二维码后,会用手机扫码(譬如微信登录就用微信扫码)
* 这时候对应的APP会把用户信息token和UUID(二维码中识别的)打包发送到相应的服务器
* 虽然二维码是暴露的,但是用户信息是只有这个APP能获取的,因此不用担心第三方可以直接登录
3.服务器验证通过后,得知这个UUID登陆成功,则会允许网页登录
* 这时候就登录成功了,会为这个UUID网页对应的Session分配一个token,(在限定的条件下)可以访问服务
4.登录成功后,对应的APP可以给出相应的提示,提升体验
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment