迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
开源软件名称:JFinal-oauth2.0-login开源软件地址:https://gitee.com/596392912/JFinal-oauth2.0-login开源软件介绍:##对第三方登陆的基础封装集成 具体可参看Test.java测试,该版本已经深度依赖于JFinal,对于非JFinal用户,可以查看 tag
测试时先更改 127.0.0.1 www.dreamlu.net 测试过程为
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包依赖
注意事项申请期间可以添加 交流群JFinal2.2视频-如梦技术 237587118 捐助共勉![]() ![]() ![]() License( The MIT License ) ![]() |
2022-08-15
2022-08-17
2023-10-27
2022-09-23
2022-08-13
请发表评论