/**
* qq登录数据验证
* @param code
* @param map
* @param session
* @param request
* @return
*/
@SuppressWarnings
(
"unchecked"
)
@RequestMapping
(
"qq/authorizationCode"
)
public
String qqAuthorizationCode(String code,ModelMap map,HttpSession session,HttpServletRequest request){
if
(session.getAttribute(
"openId"
)==
null
){
OauthConfig oc=oauthService.getOauthConfig(
"qq"
);
String url=String.format(
"%s?grant_type=authorization_code&client_id=%s&client_secret=%s&code=%s&state=%s&redirect_uri=%s"
,oc.getTokenUrl(),oc.getClientId(),oc.getClientSecret(),code,UUID.randomUUID().toString(),oc.getRedirectUri());
DefaultHttpClient httpclient = HttpClientUtils.getHttpClient();
Map<String,String> obj=
null
;
String openid=
null
;
try
{
String request_token = HttpClientUtils.getHtml(httpclient, url,
"UTF-8"
);
System.out.println(request_token);
HashMap<String, String> access_token = ParseString.parseTokenString(request_token);
String url2=String.format(
"%s?access_token=%s"
,oc.getMeUrl(),access_token.get(
"access_token"
));
String s = HttpClientUtils.getHtml(httpclient, url2,
"UTF-8"
);
openid=s.substring(s.indexOf(
"\"openid\":\""
)+
10
,s.indexOf(
"\"}"
));
System.out.println(HttpClientUtils.getHtml(httpclient, url3,
"UTF-8"
));
obj=JsonUtil.conventJsonToObject(HttpClientUtils.getHtml(httpclient, url3,
"UTF-8"
), Map.
class
);
}
catch
(Exception e) {
e.printStackTrace();
}
map.addAttribute(
"w"
,webConfigDAO.findById(
"1"
));
if
(oauthService.getByOpenId(openid,
1
)!=
null
){
try
{
if
(oauthService.oauthLogin(openid,
1
, session,request)){
return
"/WEB-INF/cms/system/member/loginCallback.html"
;
}
}
catch
(MessageException e) {
e.printStackTrace();
map.addAttribute(
"msg"
, e.getMessage());
return
"/WEB-INF/cms/system/member/memberError.html"
;
}
}
session.setAttribute(
"openId"
, openid);
session.setAttribute(
"loginType"
,
1
);
session.setAttribute(
"userInfo"
,
new
String[]{obj.get(
"nickname"
),obj.get(
"gender"
),obj.get(
"figureurl_1"
),obj.get(
"figureurl_2"
)});
}
else
{
session.removeAttribute(
"openId"
);
session.removeAttribute(
"loginType"
);
session.removeAttribute(
"userInfo"
);
}
return
"/WEB-INF/cms/system/member/oauthPage.html"
;
}
相关推荐
基于java的第三方登录demo,在 Spring MVC + Spring + Mybatis 框架下实现,项目基于maven构建
spring-mvc-qq-weibo spring-mvn 第三方登录整合
酒店管理系统,idea开发,maven拆分与聚合,后台采用jsp+mybatis plus+spring+spring MVC+Shiro+第三方短信验证接口.前台使用layUI与EasyUI.数据库使用mysql,实现了支付宝沙箱支付,实现QQ快捷登录!!!
登录注册功能:用户可以注册个人账号并登录,也支持使用QQ、微博等第三方账号登录。 文物信息管理功能:管理员可以管理文物信息,包括添加、编辑、删除、审核等操作。 文物浏览功能:用户可以根据各种条件查找文物...
登录注册功能:用户可以注册个人账号并登录,也支持使用QQ、微博等第三方账号登录。 商品信息管理功能:管理员可以管理商品信息,包括添加、编辑、删除等操作。 仓库管理功能:管理员可以管理仓库信息,包括添加、...
登录注册功能:用户可以注册个人账号并登录,也支持使用QQ、微博等第三方账号登录。 员工信息管理功能:管理员可以管理员工信息,包括添加、编辑、删除等操作。 考勤管理功能:系统可自动计算员工的正常上班、迟到...
QQ交流群: 570062301 官方网站: 官方论坛: 项目演示: Hibernate版本: 简介 JeeWeb Mybatis版本是一款基于SpringMVC+Spring+Mybatis+Mybatis Plus的敏捷开发系统;它是一款具有代码生成功能的智能快速开发平台;...
登录注册功能:用户可以注册个人账号并登录,也支持使用QQ、微博等第三方账号登录。 居民信息管理功能:管理员可以管理居民信息,包括添加、编辑、删除等操作。 疫情信息管理功能:管理员可以管理社区疫情信息,...
源码描述 随着时代和科技的进步,人们的生活水平越来越高,私家车的数量不断上涨,随之产生了一些问题,其中就包括停车难,很多...2.没有实现第三方支付功能 运行环境 tomcat7.0+jdk1.7或以上 eclipse或idea 项
通用用户管理系统, 实现最常用的用户注册、登录、资料管理、个人中心、第三方登录等基本需求,支持扩展二次开发。 > zheng-wechat-mp 微信公众号管理平台,除实现官网后台自动回复、菜单管理、素材管理、用户管理...
登录注册功能:用户可以注册个人账号并登录,也支持使用QQ、微博等第三方账号登录。 汽车浏览功能:用户可以根据各种条件查找汽车信息,浏览汽车的图片、车型、价格等详情。 汽车筛选功能:用户可根据关键字、价格...
登录注册功能:用户可以注册个人账号并登录,也支持使用QQ、微博等第三方账号登录。 员工信息管理功能:管理员可以管理员工信息,包括添加、编辑、删除等操作。 考勤管理功能:系统可自动计算员工的正常上班、迟到...
登录注册功能:用户可以注册个人账号并登录,也支持使用QQ、微博等第三方账号登录。 商品分类功能:根据商品的种类进行分类展示,如奶粉、尿不湿、玩具等。 商品搜索功能:用户可以根据商品名、品牌、规格等关键字...
登录注册功能:用户可以注册个人账号并登录,也支持使用QQ、微博等第三方账号登录。 个人主页功能:用户可创建个人主页,包括个人资料、动态、照片等信息。 查找功能:用户可以根据年龄、地区、性别等条件查找其他...
登录注册功能:用户可以注册个人账号并登录,也支持使用QQ、微博等第三方账号登录。 房源管理功能:管理员可以管理公寓房源信息,包括添加、编辑、删除、下架等操作。 房源筛选功能:用户可根据关键字、租金、面积...
登录注册功能:用户可以注册个人账号并登录,也支持使用QQ、微博等第三方账号登录。 汽车浏览功能:用户可以根据各种条件查找汽车信息,浏览汽车的图片、车型、价格等详情。 汽车筛选功能:用户可根据关键字、价格...