QQ授权登录改

2017-02-04  本文已影响0人  满堂风来

(原谅我,我的豌豆大脑只能想到这个级别的了。把authorization_code的前端请求接口取消了,将请求用户信息部分的接口独立出来)

第一次登录步骤流程

oauth/index中:

单独独立出的用户信息请求接口

因为在oauth/index中页面完全空白(虽然时间很短,但是对用户也不是很友好),所以把这个接口独立出来由前端自己控制调用的时机,避免用户在oauth/index中等待太久

接口1:(调用腾讯API获取用户信息,并且后台在数据库中完成缓存)
oauth/get-user-info-refresh中:

接口2:(直接调用后台数据库里的缓存内容)
oauth/get-user-info中:

因为请求用户信息的腾讯API有调用上限,所以前端尽可能使用第二个接口。前端觉得有必要的话可以做头像等信息的本地缓存。

关闭浏览器后重新自动登录

关闭浏览器之后,session会自动失效,当下一次访问到来时,只存在cookie,此时后端会根据cookie存储的user_id,获取对应数据库中的openId,将其加密后与cookie中的对比,如果一致则登录成功,设置session为user_id,失败则不登录并且清空该错误的cookie。
(P.S,正常登陆后,后台比对cookie发来的获取access_token的时间戳和当前时间戳的时长,超过三个月就用refresh_token刷新access_token

上一篇 下一篇

猜你喜欢

热点阅读