美文网首页
QQ授权登录

QQ授权登录

作者: 满堂风来 | 来源:发表于2017-02-02 20:24 被阅读0次

    以下都是错的,别看了
    附上参考地址理解OAuth 2.0
    OAUTH逻辑

    我的设计的意图是,尽可能降低前后端耦合性,所以最终的目的是,前台让用户点击登录按钮以后,在后台几次重定向之后就能直接拿到user_info。
    QQ授权登录获取Access_Token 文档

    后台实现步骤(用户中心处,第一次授权)

    • 用户点击登录按钮以后,向路由(Auth/login)发起请求。
    • (Auth/login)整合各种参数以后向https://graph.qq.com/oauth2.0/authorize 发起请求希望接收Authorization Code,其中,redirect_uri参数 要使用用户中心的地址,以作进一步处理。
    • 授权完成后浏览器重定向至(Auth/getToken),此时后台可以接收到code和state。
      整合各种参数以后向https://graph.qq.com/oauth2.0/token 发起请求,记得带上code参数(Authorization Code)。这里redirect_uri参数 选为(Auth/getOpenID)的地址。
    • 之后(Auth/getOpenID)可以接收到access_token和expires_in。为了避免繁琐的重定向,这里通过curl向https://graph.qq.com/oauth2.0/me 发起请求并接受openID,之后将openID和access_token存入数据库(绑定用户),最后重定向至用户中心。

    前台请求头像,用户名等信息

    • 希望独立出来,单独通过访问路由(Auth/getUserInfo)拉取用户信息
    • (Auth/getUserInfo)根据数据库内部的access_token和openID通过curl向https://graph.qq.com/user/get_user_info发起请求,将数据打包后发给前端。
    • 为了避免繁琐地调用这个API(貌似有访问次数上限??),希望前端做好本地数据存储。

    尚未解决的问题

    • 登录状态的判断
    • 已登录用户的处理方法
    • 多次重定向较为繁琐

    相关文章

      网友评论

          本文标题:QQ授权登录

          本文链接:https://www.haomeiwen.com/subject/fyerittx.html