【Java面试题】扫码登录到底是怎么实现的?

167 阅读1分钟

给大家分享一下扫码登录的原理,认真听完,你会发现真的很简单。

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

  1. 首先,在网页端打开登录页面,展示一个二维码,这个二维码有一个唯一编号是服务端生成的。然后浏览器定时轮询这个二维码的状态
  2. 接着,APP扫描这个二维码,把APP的token信息、二维码ID发送给Server端,Server收到请求后修改二维码的扫码状态,并生成一个临时token
  3. 此时,网页端展示的二维码状态会提示已扫码,待确认。 而APP端扫码之后,会提示确认授权的操作。
  4. 于是,用户确认登录后,携带临时token给到server,server端修改二维码状态并为网页端生成授权token
  5. 最后,网页端轮询到状态变化并获取到token,从而完成扫码授权。

不难发现,整个实现过程并不难,核心的设计就是一个特定的二维码,去连接了APP端和网页端。

好了,今天的分享就到这里。