介绍
这篇文章将为大家详细讲解有关使用Java怎么实现一个QQ第三方登录功能,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。
<强>申请QQ互联,并成为开发者强>
申请QQ互联创建应用时需要备案域名,所以建议提前准备备案域名。
QQ互联:https://connect.qq.com/index.html
登录后,点击头,像进入认证页面,填写信息,等待审核。
审核通过后创建应用
应用创建通过审核后,就可以使用APP ID和应用关键
前期工作就这些了,后面可以开始写代码了。
项目结构:
属性或者yml配置文件(这里就是简单的配置了一下,可以自行添加数据库等配置)
server.port=80 server.servlet.context-path=/, # qq互联 qq.oauth。http: QQ互联中申请填写的网站地址
在pom中添加依赖
& lt; !——httpclient祝辞 & lt; dependency> & lt;才能groupId> org.apache.httpcomponents</groupId> & lt;才能artifactId> httpclient</artifactId> & lt;才能version> 4.5.6</version> & lt;/dependency> & lt; !——阿里,JSON——比; & lt; dependency> & lt;才能groupId> com.alibaba</groupId> & lt;才能artifactId> fastjson</artifactId> & lt;才能version> 1.2.47</version> & lt;/dependency>
<强>发送QQ登录请求强>
定义全局变量获取配置文件中的网站地址
@ value (“$ {qq.oauth.http}“) private String http;
定义登录回调地址(可以用网站地址拼接或者直接写)
//QQ互联中的回调地址 String backUrl =, http +,“/index"
登录请求方法代码
@GetMapping (“/QQ/login") public String qq (HttpSession 会话),throws UnsupportedEncodingException {//QQ才能互联中的回调地址 String 才能;backUrl =, http +,“/index"; ,//用才能于第三方应用防止CSRF攻击 String 才能;uuid =, UUID.randomUUID () .toString () .replaceAll(“产生绯闻,““); session.setAttribute才能(“state" uuid); ,//步骤1:才能获取Authorization 代码 String 才能;url =癶ttps://graph.qq.com/oauth3.0/authorize?response_type=code" + ,,,,,,,client_id=?, +, QQHttpClient.APPID + ,,,,,,,redirect_uri=? +, URLEncoder.encode (backUrl,“utf-8"), + ,,,,,,,=白刺?+,uuid; , return 才能“重定向:“,+,url; }
<>强回调返回参数信息说明:强>
0或者不返回:没有数据丢失,可以缓存。
, 1:有部分数据丢失或错误,不要缓存。
(当pf=QQ空间,朋友或qplus时返回)
<强> is_yellow_year_vip