官方Demo剖析
QQ第三方登录官方提供了一个sdk for java
这里提供下下载地址:https://pan.baidu.com/s/12wIZj8hTvLzOOvySqaGyMg
压缩包文件功能:
这个demo是传统的Jsp servlet搞的;
导入项目后,我们第一步,要配置下 qqconnectconfig.properties
app_Id和app_KEY要修改成你的,申请通过后 官方会提供;包括redirect_URI修改成你申请时候写的回调地址;
然后就可以打包发布到服务器测试了;
这里介绍下关键的几个接口;
index.jsp是首页,点击超链接,请求/login;
进入后台IndexServlet,封装参数,然后重定向请求;进入底层源码看,其实重定向请求的是
https://graph.qq.com/oauth2.0/authorize 接口;以及封装一堆参数;
接下来是回调处理类:
这里的映射地址得改下 改成你设置的;然后回调处理类 就是AfterLoginRedirectServlet;
关键的三步:
第一步: 获取腾讯服务器返回的accessToken;
第二步:通过accessToken获取openId;(底层分析,这步请求的是https://graph.qq.com/oauth2.0/me 接口 );
第三步:通过accessToken和openId得到用户信息;(底层分析,这步请求是https://graph.qq.com/user/get_user_info接口)
然后得到数据后 放session,放数据库 以及判断啥的 根据自己的业务来搞即可;
这里的openId是每个用户的唯一标识,所以肯定得处理好;