周末,想写一个即刻app的微信小程序,通过web端的页面,抓取了一些接口API,但是都需要auth。然后看下,auth从哪获取的,然后发现是扫码之后,通过接口拿到的。 然后分析了一下,也算知道了,扫码登录的一些实现方式。
step 1
通过一个接口获取唯一的UUID
,同时这个UUID
也是有过期时间的。即刻好像是2分钟。
step 2
拿到这个UUID
,再加上一些参数,生成一个二维码。在页面上展示。同时调用验证接口,传入生成的UUID。
step 3
拿出手机,用已经登录之后的app扫第二步生成的二维码。在手机上点确认。如果点了确认,第二步的验证接口会返回true。这时候,再调用另外一个confirm接口。
step 4
调用confirm接口,这时候,返回的数据就有auth
的值了,这时候把auth的值保存在localstorage
里,就可以做成登录态了。
这个就是简单的,扫码登录的原理。
挖个坑
不过原理很简单,但是实现起来,却不简单。具体的实现,可能会有一些意向不到的问题。虽然,调用即刻的扫码登录,已经成功,但是具体接口API内部怎么实现的,我还不知道,先挖个坑,以后有时间,自己写一个吧。