1.服务端生成一个url,并携带一个唯一的ID,返回到PC端
2.PC端根据URL生成一个二维码,并轮询请求服务端查询用户扫描情况
2.手机端去扫描二维码,并请求URL,并把id传到服务端
3.服务端接收到id,把id和手机端设备信息、当前用户信息做一个绑定,并修改此id对应的状态为已扫码,然后生成一个临时token返回到手机端
4.此时PC端的轮询请求会请求到二维码为已扫描状态,并在PC端页面显示
5.手机端点击确认登录按钮,携带着临时token请求服务端
6.服务端接收到确认登录并验证通过token后,生成正式token返回到PC端,则PC端成为了登录状态
PS:生成临时token的原因是让手机端和那个唯一ID保持一个联系,否则点击确定登录后,请求到服务端,就不知道确认了哪个id。那不生成临时token行不行呢?也可以扫码请求服务端后,把id再返回到手机端,手机端点击确定登录时再把id传到服务端不就知道是确认的哪个id了吗?好像也可以哦,可能使用token比较安全吧,知道为什么的同志可以在评论区说一下。