第三方登录过程—OAuth2.0协议
---恢复内容开始---
理清思路
1、在第三方注册成为开发者,拿到第三方给的client_id(app_id---就像你的身份证、QQ号)和client_secret(就像你的QQ密码);
2、填写好redirect_url(回调地址----用于用户登录成功后回到的页面地址);
3、写代码
- 当用户点击了第三方登录的按钮,出发事件;
- 把页面跳转到第三方登录页面;
- 第三方登录页面的URL一般由app_id和回调地址等参数构成,具体参见第三方开发文档,照着文档拼接URL页面;
- 用户要是登陆成功了,页面会跳回到你在第三方填写好的回调地址,并且你的回调地址后面会有第三方加密后送过来的code参数(型如code=xxxxx);
- 获取上个步骤获得的code参数;
- 至此,用户完成登录,但我们还是无法使用用户信息,需要用户授权;
- 若用户同意授权;
- 后台访问一个URL地址,URL地址中包含client_secret参数和code的参数(第三方服务器需验证);
- 第三方服务器验证所需参数,若验证通过,则返回响应数据给我们,一般是XML和JSON数组,从中我们可以得到用户的基本信息,其中也包括Accesstoken(能够得到用户基本资料的令牌),归我们用于调用相关API;
4、注:若在获取accesstoken的url地址中,我们添加了一个布尔参数,类似于-----&need_refresh_token=ture;则我们得到的响应数据中还会有refresh_token;
我们可以在当accesstoken失效,而用户又没有重新登陆时,用来后台自动重新到url请求新的accesstoken。
例如:连续几个月在用户的空间里自动发说说(用户不经常登录)