资源简介
第三方网站接入qq登录的实例及配置文件,首先要申请qq互联里的应用。获取到appid和密钥。需要修改配置文件中中文部分的配置,在处理层进行自定义对用户信息处理
代码片段和文件信息
package cn.bdqn.PersonalTailor.qq.connect;
import com.qq.connect.api.OpenID;
import com.qq.connect.api.qzone.UserInfo;
import com.qq.connect.javabeans.AccessToken;
import com.qq.connect.javabeans.qzone.UserInfoBean;
import com.qq.connect.oauth.Oauth;
import cn.bdqn.PersonalTailor.pojo.User;
import cn.bdqn.PersonalTailor.service.UserService;
import java.text.SimpleDateFormat;
import java.util.Date;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
/**
* 用户使用QQ登陆后的处理
*
*
*/
@Controller
@RequestMapping(“/qq_login_redirect“)
public class AfterLoginRedirectController {
@Resource(name = “userService“)
private UserService userService;
public UserService getUserService() {
return userService;
}
public void setUserService(UserService userService) {
this.userService = userService;
}
/**
* qq回调页面(获取用户的信息)
*
* @param request
* @param response
* @return
*/
@RequestMapping(“/qqLoginRedirect“)
public String qqRedirect(HttpServletRequest request HttpServletResponse response) {
try {
AccessToken accessTokenObj = (new Oauth()).getAccessTokenByRequest(request);
String accessToken = null;
String openID = null;
Long tokenExpireIn = 0L;
if (accessTokenObj.getAccessToken().equals(““)) {
System.out.println(“==========================未获取到用户 accessToken==========================“);
} else {
// 获取accessToken信息
accessToken = accessTokenObj.getAccessToken();
tokenExpireIn = accessTokenObj.getExpireIn();
// 利用获取到的accessToken 去获取当前用的openid
OpenID openIDObj = new OpenID(accessToken);
openID = openIDObj.getUserOpenID();
// 利用 accessToken 和 openID 获取用户信息
UserInfo userInfo = new UserInfo(accessToken openID);
UserInfoBean userInfoBean = userInfo.getUserInfo();
System.out.println(“accessToken:“ + accessToken);
System.out.println(“openID:“ + openID);
User member = null;
// 第三方登录成功
if (userInfoBean.getRet() == 0) {
//登陆成功处理
}
}
} catch (Exception e) {
e.printStackTrace();
}
return “index“;
}
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2018-05-17 09:40 第三方网站qq登录接口调用实例\
文件 2481 2018-05-17 09:42 第三方网站qq登录接口调用实例\AfterLoginRedirectController.java
文件 973 2018-05-17 09:41 第三方网站qq登录接口调用实例\IndexController.java
文件 1425 2018-05-17 09:40 第三方网站qq登录接口调用实例\qqconnectconfig.properties
- 上一篇:复杂ER网络上的经典SIR模型
- 下一篇:电子表数字图片
评论
共有 条评论