资源简介
本人花了一天的时间整理,对于想学,或者是项目中要用到第三方登录有很大的帮助,代码思路非常清晰,很容易理解,你们只要修改一个Ouath.properties配置文件,将里面的信息配置成自己的即可。
代码片段和文件信息
package com.peace.pms.controller;
import com.alibaba.fastjson.JSONobject;
import com.peace.pms.oauth.OauthBaidu;
import com.peace.pms.oauth.OauthQQ;
import com.peace.pms.util.TokenUtil;
import org.apache.commons.lang.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.io.UnsupportedEncodingException;
@Controller
@RequestMapping(“/api/baidu“)
public class OauthBaiduController {
//OAuth2.0标准协议建议,利用state参数来防止CSRF攻击。可存储于session或其他cache中
private static final String SESSION_STATE = “_SESSION_STATE_BAIDU_“;
private static Logger log = LoggerFactory.getLogger(OauthBaiduController.class);
@RequestMapping(“/callback“)
@ResponseBody
public String callback(HttpServletRequest request){
String code = request.getParameter(“code“);
String state = request.getParameter(“state“);
// 取消了授权
if (StringUtils.isBlank(state)||StringUtils.isBlank(code)){
return “取消了授权“;
}
//清除state以防下次登录授权失败
//session.removeAttribute(SESSION_STATE);
//获取用户信息
try{
JSONobject userInfo = OauthBaidu.me().getUserInfoByCode(code);
log.debug(userInfo.toString());
String type = “baidu“;
// 将相关信息存储数据库...
return userInfo.toString();
}catch(Exception e){
e.printStackTrace();
}
//这里你们可以自己修改,授权成功后,调到首页
return “error“;
}
/**
* 构造授权请求url
* @return void 返回类型
* @throws
*/
@RequestMapping(“/login“)
public String index(HttpServletRequest request HttpServletResponse response){
String state = TokenUtil.randomState();
//state就是一个随机数,保证安全
try {
String url = OauthBaidu.me().getAuthorizeUrl(state);
return “redirect:“+url;
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
return “redirect:/index.jsp“;
}
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 7 2018-03-02 14:39 pms\.git\COMMIT_EDITMSG
文件 296 2018-03-02 14:39 pms\.git\config
文件 73 2018-03-02 14:27 pms\.git\desc
文件 98 2018-03-02 14:29 pms\.git\FETCH_HEAD
文件 23 2018-03-02 14:29 pms\.git\HEAD
文件 478 2018-03-02 14:27 pms\.git\hooks\applypatch-msg.sample
文件 896 2018-03-02 14:27 pms\.git\hooks\commit-msg.sample
文件 3327 2018-03-02 14:27 pms\.git\hooks\fsmonitor-watchman.sample
文件 189 2018-03-02 14:27 pms\.git\hooks\post-update.sample
文件 424 2018-03-02 14:27 pms\.git\hooks\pre-applypatch.sample
文件 1642 2018-03-02 14:27 pms\.git\hooks\pre-commit.sample
文件 1348 2018-03-02 14:27 pms\.git\hooks\pre-push.sample
文件 4898 2018-03-02 14:27 pms\.git\hooks\pre-reba
文件 544 2018-03-02 14:27 pms\.git\hooks\pre-receive.sample
文件 1492 2018-03-02 14:27 pms\.git\hooks\prepare-commit-msg.sample
文件 3610 2018-03-02 14:27 pms\.git\hooks\update.sample
文件 29540 2018-03-02 14:38 pms\.git\index
文件 240 2018-03-02 14:27 pms\.git\info\exclude
文件 1171 2018-03-02 14:39 pms\.git\logs\HEAD
文件 828 2018-03-02 14:39 pms\.git\logs\refs\heads\master
文件 618 2018-03-02 14:39 pms\.git\logs\refs\remotes\orign\master
文件 245 2018-03-02 14:30 pms\.git\ob
文件 957619 2018-03-02 14:30 pms\.git\ob
文件 58 2018-03-02 14:30 pms\.git\ob
文件 57 2018-03-02 14:29 pms\.git\ob
文件 1094 2018-03-02 14:30 pms\.git\ob
文件 229 2018-03-02 14:30 pms\.git\ob
文件 155 2018-03-02 14:39 pms\.git\ob
文件 602 2018-03-02 14:30 pms\.git\ob
文件 295 2018-03-02 14:29 pms\.git\ob
............此处省略708个文件信息
- 上一篇:安卓蓝牙小车或者四轴控制软件
- 下一篇:20王道考研408操作系统.pdf
相关资源
- 基于SSM的商城系统
- 电影票在线售票系统
- 基于SSMSpringMVC+Spring+MyBatis实现的教务
- 超市订单管理系统——SSM实现
- 基于SSM的博客系统
- SSM整合项目-健身房管理系统 完整方案
- runssm.rar
- ssm企业员工考勤系统.zip
- ssm企业机构人事档案管理系统.zip
- mybatis项目源代码
- 学生管理系统springMVC+MyBatis
- SSM客户管理系统经过审查,可使用
- 基于SSMSpring-SpringMVC-MyBatis的高级整合
- 基于SSM企业固定资产管理系统.zip
- 网络在线求职招聘系统
- SSM框架开发的 驾校信息管理系统
- meven+ssm+shiro实现前后端分离登录小案
- blogSSM.rar
- 基于SSM在线视频网站的设计与实现
- Spring+SpringMVC+MyBatisSSM实用项目整合案
- 基于ssm的小米商城
- SSM+Video.js实现web项目网页看视频代码
- idea整合ssm框架实现登录注册退出增删
- ssm模糊查询demo
- SSM通用后台系统+小米商城程序源码
- 互联网轻量级SSM框架.zip
- ssm网上求职招聘系统.zip
- 基于SSM的在线考试系统
- 最适合入门SSM+bootstrap完整项目
- SSM框架,仿《简书》整站无后台管理
评论
共有 条评论