zoukankan      html  css  js  c++  java
  • 第三方登录过程—OAuth2.0协议

    ---恢复内容开始---


    理清思路

    1、在第三方注册成为开发者,拿到第三方给的client_id(app_id---就像你的身份证、QQ号)client_secret(就像你的QQ密码);

    2、写好redirect_url(回调地址----用于用户登录成功后回到的页面地址);

    3、写代码

    1. 当用户点击了第三方登录的按钮,出发事件;
    2. 把页面跳转到第三方登录页面
    3. 第三方登录页面的URL一般由app_id和回调地址等参数构成,具体参见第三方开发文档,照着文档拼接URL页面;
    4. 用户要是登陆成功了,页面会跳回到你在第三方填写好的回调地址,并且你的回调地址后会有第三方加密后送过来的code参数(型如code=xxxxx);
    5. 获取上个步骤获得的code参数
    6. 至此,用户完成登录,但我们还是无法使用用户信息,需要用户授权
    7. 若用户同意授权;
    8. 后台访问一个URL地址,URL地址中包含client_secret参数和code的参数(第三方服务器需验证);
    9. 第三方服务器验证所需参数,若验证通过,则返回响应数据给我们,一般是XML和JSON数组,从中我们可以得到用户的基本信息,其中也包括Accesstoken(能够得到用户基本资料的令牌),归我们用于调用相关API;

    4、注:若在获取accesstoken的url地址中,我们添加了一个布尔参数,类似于-----&need_refresh_token=ture;则我们得到的响应数据中还会有refresh_token;

        我们可以在当accesstoken失效,而用户又没有重新登陆时,用来后台自动重新到url请求新的accesstoken。

        例如:连续几个月在用户的空间里自动发说说(用户不经常登录)

  • 相关阅读:
    贪吃蛇模块划分
    你今天听见《风声》了吗“ 学习无处不在继潜伏后《风声》观后
    贪吃蛇结束条件分析
    CSS fieldset制作表单,抛弃Table
    两个路由器串联
    .net 几种获取路径方法
    C# 对文件与文件夹的操作 删除、移动与复制
    mvc3在IIS中的部署(转)
    HTTP 错误 500.21 Internal Server Error
    遗留问题
  • 原文地址:https://www.cnblogs.com/JJ-kelion/p/5149603.html
Copyright © 2011-2022 走看看