• 大小: 5KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-14
  • 语言: 其他
  • 标签: QQ授权  

资源简介

最近在开发电商项目中,总结出的几个常用的第三方登录的Demo,包含了QQ,新浪微博,人人网。注:其中的key,secret,ID等我用XXX代替了,这些是需要到指定的开放平台去申请,我这只提供的是具有了这些参数之后的Demo

资源截图

代码片段和文件信息



html代码:
src=“images/front/images/l_rr.png“ width=“23“ height=“24“
alt=““ /> 



/**
 * 人人网登录处理
 * 
 * @return
 * @throws Exception 
 */
public String RRLogin() throws Exception {
log.info(“人人网登录.....“);
String code = request(“code“);
log.info(“人人网code= “ + code);
if (StringUtils.isBlank(code)) {

}
// 到人人网的OAuth 2.0的token endpoint用code换取access token
String rrOAuthTokenEndpoint = “https://graph.renren.com/oauth/token“;
String tokenResult = sendGET(
“https://graph.renren.com/oauth/token?grant_type=authorization_code&client_id=idxxxxxxx&redirect_uri=http://www.xxxx.com/RRLogin.do&client_secret=secretxxxxx&code=“+code
““);
org.json.simple.JSONobject tokenJson = (org.json.simple.JSONobject) JSONValue.parse(tokenResult);
log.info(“请求之后的返回消息:  “ + tokenJson);
String renren_id = ““;
String face = ““;
String nickName = ““;
if (tokenJson != null) {
Mapject> result = JSONUtils.toHashMap(tokenJson);
// 调用人人网API获得用户信息
object valueString = result.get(“user“);
Mapject> user_result = JSONUtils.toHashMap(valueString);
renren_id = user_result.get(“id“).toString();
nickName = user_result.get(“name“).toString();
object face_str = user_result.get(“avatar“);
Listject>> faceList = JSONUtils.toList(face_str);
for(Mapject> face_map : faceList){
if(face_map.get(“type“)!=null&&“large“.equals(face_map.get(“type“).toString())){
face = face_map.get(“url“) == null ? null:face_map.get(“url“).toString();
}
}
}
if(StringUtils.isNotBlank(renren_id)){
User user = userService.userLoginByCondition(“ renren_id=‘“ + renren_id+“‘“);
int count = -1;
if (user != null) {
count = user.getLogin_count();
if (count == 0) {
count = 1;
} else {
count = count + 1;
}
session().setAttribute(IConstants.SESSION_USER user);
} else {
userService.addUserByInterfaceLogin(face renren_id nickName null2);
user = userService.userLoginByCondition(“ renren_id=‘“ + renren_id+“‘“);
count = 1;
session().setAttribute(IConstants.SESSION_USER user);
}
if (count > -1) {
userService.updateUserLoginInfo(user.getId() ServletUtils
.getRemortIp() count);
}
}else{
return INPUT;
}
return SUCCESS;
}

public static String sendGET(String url String param) {

String result = ““;// 访问返回结果
BufferedReader read = null;// 读取访问结果

try {
System.out.println(url);
// 创建url
URL realurl = new URL(url);
// 打开连接
URLConnection connection = realurl.openConnection();
// 设置通用的请求属性
connection.setRequestProperty(“accept“ “*/*“);
connection.setRequestProperty(“connection“ “Keep-Alive“);
connection.setRequestProperty(“user-ag

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件        208  2014-11-20 09:08  第三方登录\qq.txt

     文件       2657  2014-11-20 09:09  第三方登录\qqSkip.jsp

     文件         70  2014-10-23 11:45  第三方登录\sina.txt

     文件        184  2014-09-11 10:27  第三方登录\sinaLogin.js

     文件       2488  2014-11-20 09:10  第三方登录\sinaSkip.jsp

     文件       3766  2014-11-20 09:15  第三方登录\人人网第三方登录Demo.java

     目录          0  2014-11-20 09:15  第三方登录

----------- ---------  ---------- -----  ----

                 9373                    7


评论

共有 条评论