第三方登录过程—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。

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

posted @ 2016-01-21 21:08  kelion  阅读(365)  评论(0编辑  收藏  举报