• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

JFinal-oauth2.0-login: oauth2.0第三方 qq、sina、baidu、renren、osc、豆瓣 等,登 ...

原作者: [db:作者] 来自: 网络 收藏 邀请

开源软件名称:

JFinal-oauth2.0-login

开源软件地址:

https://gitee.com/596392912/JFinal-oauth2.0-login

开源软件介绍:

##对第三方登陆的基础封装集成qqsinabaidurenrenosc豆瓣 等,第三方登陆api!

具体可参看Test.java测试,该版本已经深度依赖于JFinal,对于非JFinal用户,可以查看 tag v0.2: http://git.oschina.net/596392912/JFinal-oauth2.0-login/tree/v0.2/

注意:oauth.properties中含有我的网站的appkey可用来测试

测试时先更改hosts(具体可以百度

127.0.0.1 www.dreamlu.net

测试过程为

  1. 调用getAuthorizeUrl()获取url,在浏览器访问url,拿到回调的code参数

  2. 调用getUserInfoByCode()传入刚获取的code

JFinal 中使用示例

跳转去授权

//OAuth2.0标准协议建议,利用state参数来防止CSRF攻击。可存储于session或其他cache中private static final String SESSION_STATE = "_SESSION_STATE_QQ_";/** * 构造授权请求url * @param     设定文件 * @return void    返回类型 * @throws */public void index() {    try {        String state = TokenUtil.randomState();        setSessionAttr(SESSION_STATE, state);        redirect(OauthQQ.me().getAuthorizeUrl(state));    } catch (Exception e) {        log.error(e.getMessage());        redirect("/");    }}

回调可供参考

/** * 腾讯回调 * @Title: callback * @param     设定文件 * @return void    返回类型 * @throws * 返回json:<url>http://wiki.connect.qq.com/get_user_info</url> */public void callback() {    String code = getPara("code");    String state = getPara("state");    String session_state = getSessionAttr(SESSION_STATE);    // 取消了授权    if (StringKit.isBlank(state) || StringKit.isBlank(session_state) || !state.equals(session_state) || StringKit.isBlank(code)) {        redirect("/admin");        return;    }    removeSessionAttr(SESSION_STATE);    try{        JSONObject userInfo = OauthQQ.me().getUserInfoByCode(code);        log.error(userInfo);        String type = "qq";        String openid = userInfo.getString("openid");        String nickname = userInfo.getString("nickname");        String photoUrl = userInfo.getString("figureurl_2");        // 将相关信息存储数据库...    }catch(Exception e){        log.error(e);    }    redirect("/admin");}

Maven

<dependency>    <groupId>net.dreamlu</groupId>    <artifactId>JFinal-oauth2.0-login</artifactId>    <version>1.1.1</version></dependency>

jar包依赖

  1. FastJson

  2. JFinal3.0

注意事项

申请期间可以添加测试账号,为了快速的申请通过,请使用QQ官方的最大的那个(图标素材)

交流群

JFinal2.2视频-如梦技术 237587118

捐助共勉

微信捐助支付宝捐助QQ捐助

License

( The MIT License )


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap