cover_image

JustAuth新版发布,建议升级到最新版【v1.9.4】

张亚东 码一码 2019年07月30日 14:31

JustAuth更新内容

JustAuth今天更新了两个版本, v1.9.3算是一个过渡版本,不过仍然存在一些问题,建议直接升级到 v1.9.4

v1.9.3

  1. AuthConfig类中去掉state参数

  2. 删除 AuthState

  3. 增加 authorize(String)方法,并且使用 @Deprecated标记 authorize()方法

  4. IpUtils.getIp改名为 IpUtils.getLocalIp

  5. 规范注释

  6. 增加State缓存, AuthCallback中增加默认的校验state的方法

  7. 增加默认的state生成方法,参考 AuthStateUtils.java和 UuidUtils.java

  8. 升级 hutool-http版本到 v4.6.0

  9. 修复其他一些问题

v1.9.3版本前的AuthState类有个问题就是:A授权过程中,B也去授权相同的平台,因为AuthState内部获取ip时获取的是本机ip,所以最终A和B在 AuthState中生成的 key就会一样,也因此造成A的数据被B覆盖掉的情况。

1.9.3版本中,将 AuthState类删除,同时去掉了 AuthConfig类中的state参数。因为对于OAuth来说,state主要的作用就是为了保持会话的完整性,防止CSRF攻击,所以这个参数在JustAuth中实际应该是跟着 request走,而不应该耦合到 config中。同时在该版本中,新增了 authorize(String)方法,支持调用者手动去生成state,当然, 原来的 authorize()方法一样可以用,但不保证后续版本不会被删除,所以还是建议大家使用 authorize(String)方法获取授权地址。

该版本还增加了 state缓存,不过需要注意的一点就是:JustAuth默认保存 state的有效期为3分钟,3分钟内未使用则会自动清除掉。针对这一点,在代码中也给出了注释:

  1. /**

  2. * 默认的缓存实现

  3. *

  4. * @author yadong.zhang (yadong.zhang0415(a)gmail.com)

  5. * @since 1.9.3

  6. */

  7. public class AuthDefaultCache implements AuthCache {


  8. /**

  9. * 默认缓存过期时间:3分钟

  10. * 鉴于授权过程中,根据个人的操作习惯,或者授权平台的不同(google等),每个授权流程的耗时也有差异,不过单个授权流程一般不会太长

  11. * 本缓存工具默认的过期时间设置为3分钟,即程序默认认为3分钟内的授权有效,超过3分钟则默认失效,失效后删除

  12. */

  13. private static final long DEF_TIMEOUT = 3 * 60 * 1000;


  14. // ...

  15. }

这个意思就是, JustAuth默认只能受理3分钟内的请求信息,如果一次授权的流程,从 authorizecallbacklogin)之间,超过3分钟,则默认当前授权流程无效。

在升级 hutoolv4.6.0版本时,遇到了一些问题:在码云上生成JavaDoc时报错,经过和 hutool作者沟通,他建议将 hutool升级到最新版本 v4.6.1

v1.9.4

  1. 升级 hutool-http版本到 v4.6.1

  2. 去除 AuthCallback中增加的默认的校验state的方法,挪到 AuthDefaultRequest中做统一处理

  3. alipay-sdk-java依赖改为 provided,如果需要使用支付宝登录,需要使用方手动引入相关依赖,具体操作方式,见项目WIKI;

  4. 规范注释

v1.9.4版本主要就是修改了一下依赖,其中比较大的改动就是将 alipay-sdk-java依赖置为了 provided,毕竟在以前的版本中这算是一个传递性的第三方强依赖,但并不是每个人都需要用到 Alipay的授权登陆,所以在 1.9.4版本中,将这一依赖置为 provided。如果你需要用到 Alipay的授权登陆,那么你还需要添加以下依赖:

  1. <!-- JustAuth1.9.4版本后,如果需要使用支付宝登录,需要单独引用该依赖 -->

  2. <dependency>

  3. <groupId>com.alipay.sdk</groupId>

  4. <artifactId>alipay-sdk-java</artifactId>

  5. <version>3.7.4.ALL</version>

  6. </dependency>

关于JustAuth

JustAuth,史上最全的整合第三方登录的开源库。目前已支持Github、Gitee、微博、钉钉、百度、Coding、腾讯云开发者平台、OSChina、支付宝、QQ、微信、淘宝、Google、Facebook、抖音、领英、小米、微软、今日头条、Teambition、StackOverflow、Pinterest和人人等第三方平台的授权登录。Login, so easy!

JustAuth,如你所见,它仅仅是一个第三方授权登录工具类库,它可以让我们脱离繁琐的第三方登录SDK,让登录变得So easy!

项目开源地址:

  • https://gitee.com/yadong.zhang/JustAuth

  • https://github.com/zhangyd-c/JustAuth


JustAuth的特点

废话不多说,就俩字:

  1. :已集成十多家第三方平台(国内外常用的基本都已包含),后续依然还有扩展计划!

  2. :API就是奔着最简单去设计的(见后面 快速开始),尽量让您用起来没有障碍感!

相关文章

其他开源作品

  • blog-hunterhttp://t.cn/AiO7mKcA[],一款简单好用并且支持多个平台的博客爬取工具

  • OneBlog[http://t.cn/EZs70yD],一个简洁美观、功能强大并且自适应的Java博客

  • JustAuth[http://t.cn/AipwC6GR],史上最全的整合第三方登录的开源库。目前已支持Github、Gitee、微博、钉钉、百度、Coding、腾讯云开发者平台、OSChina、支付宝、QQ、微信、淘宝、Google、Facebook、抖音、领英、小米、微软、今日头条、Teambition、StackOverflow、Pinterest和人人等第三方平台的授权登录。Login, so easy!

  • spingboot-shiro[http://t.cn/AilOAcUm],Springboot + shiro权限管理。这或许是流程最详细、代码最干净、配置最简单的shiro上手项目了。

  • braum-spring-boot-starter[http://t.cn/AilOAJyc],Braum可以很方便的帮助开发人员过滤、识别恶意请求

QQ群

  • JustAuth交流群 (230017570):专业交流JustAuth

  • 开源总群 (190886500):上面提到的开源项目都有,也有博客建设等方面的朋友。(注意,该群需付费进入,防止发垃圾广告、垃圾推广等人士,入群请慎重考虑!)

关注我的公众号

关注我的公众号,了解更多咨询!

图片


JustAuth · 目录
上一篇JustAuth于2019年7月21日正式喜提码云【GVP 】称号下一篇使用JustAuth集成企业微信

微信扫一扫
关注该公众号

继续滑动看下一个
码一码
向上滑动看下一个