- 优化
- 微信公众平台支持返回快照标识(快照标识为 true 时,标识当前获取到的微信用户信息都是虚拟的)
- 企业微信网页登录--获取用户敏感信。 Github #155
- 添加飞书单元测试。 Github #159
- 升级fastjson版本到1.2.83,1.2.83版本之前存在代码执行漏洞风险 ,CVE-2022-25845。Gitee PR #31
- 新增
- 添加微软中国(世纪华联)第三方登录,新增微软方式登录的redirectUri校验。Gitee PR #33
- 新增爱发电平台 Gitee #35
- 微软平台适配 AzureAD(目前改名为 Microsoft Entra ID)登录认证
- Fixed
- 合并 PR Github #138
- 升级alipay-sdk-version的依赖版本
- 修改用户logo的尺寸
- 修复 alipay 登录失败的 BUG Gitee Issue #I4E4ML
- 合并 PR
- 添加微软中国(世纪华联)第三方登录,新增微软方式登录的redirectUri校验。Gitee PR #28
- 升级第三方的依赖
- simple-http > 1.0.5
- lombok > 1.18.20
- junit > 4.13.2
- fastjson > 1.2.78
- alipay-sdk > 4.16.38.ALL
- 发布 v1.16.3
- 新增
- 集成“企业微信的第三方应用”平台登录
- PR
- 修改
- 发布 v1.16.2
- 新增
- 集成“程序员客栈”平台登录
- 修改
- 更新文档
- 修复“淘宝”平台授权登录后没有
uid
的问题、增加刷新token的功能 - 修复“Twitter”平台授权登录后获取不到用户邮箱的问题
- 发布 v1.16.1
- Fix Github issue #114: 解决企业微信授权后,回调地址中原有的参数丢失的问题
- Fix Github issue #82: 抖音平台支持自定义 scope
- Fix Github issue #92: 增加忽略校验 redirectUri 的配置
- Merge Github PR #115
- 升级
fastjson
到v1.2.76
- 发布 v1.16.0
- 新增
- 集成 Amazon 平台登录
- 集成 Slack 平台登录
- 集成 LINE 平台登录
- 集成 Okta 平台登录
- 集成钉钉账号登录
- 修改
- 【重要】
AuthConfig
中的codingGroupName
参数更名为domainPrefix
,针对此类平台提供通用的配置。 - 修改
AuthFacebookScope
中的默认 scope,解决 justauth-demo 项目中使用 facebook 报错的问题 - 升级 facebook 的 api 到 v10.0 版本
- 优化部分代码
- 优化 Map 声明时的初始容量,避免频繁扩容
- 更新 README 文档
- 【重要】
- PR
- 合并 Github #110
- 合并 Gitee #22
- 发布 v1.15.9
- 新增
- 修复并正式启用 飞书 平台的第三方登录
- AuthToken 类中新增
refreshTokenExpireIn
记录 refresh token 的有效期
- PR
- 合并 Github #101 :支持喜马拉雅登录
- 合并 Github #105 :支持企业微信网页授权登录
- 合并 Github #107 :添加AuthAlipayRequest网络代理构造器,解决 Github Issue #102
- 修改
- 修改喜马拉雅配置参数,将
ClientOsType
参数提到 AuthConfig 中 - AuthChecker 中增加对喜马拉雅平台的校验
- 升级 facebook api 版本到 v9.0,解决 Gitee Issue #I2AR5S
- !!!注意!!!修改原来的企业微信 Request 类名为
AuthWeChatEnterpriseQrcodeRequest
,升级后注意该点
- 修改喜马拉雅配置参数,将
注意:可能有些开发者对于 JA 集成的四个微信平台不太理解,这儿统一说明:
- 按照类名
- AuthWeChatEnterpriseQrcodeRequest:企业微信二维码登录
- AuthWeChatEnterpriseWebRequest:企业微信网页登录
- AuthWeChatOpenRequest:微信开放平台
- AuthWeChatMpRequest:微信公众平台
- 按照枚举
- WECHAT_ENTERPRISE:企业微信二维码登录
- WECHAT_ENTERPRISE_WEB:企业微信网页登录
- WECHAT_OPEN:微信开放平台
- WECHAT_MP:微信公众平台
- Release version 1.15.7
- Upgrade the use of access token when obtaining resources on the github platform.Reference from Deprecating API authentication through query parameters
- Fixed issue. #89
- Fixing a bug for wechat.
- Improve the Microsoft platform's questions about scope.
- 新增
- 以下平台支持自定义 Scope 参数:百度、coding、Facebook、gitee、github、gitlab、google、华为、京东·宙斯、酷家乐、领英、微软、小米、Pinterest、QQ、人人网、StackOverflow、微博、微信公众平台
- 添加 PR 和 ISSUE 规范和 CODE_OF_CONDUCT 文档
- 合并
- 合并 Gitee PR#19,修复通过google登录一次后,重新用google登录无法切换谷歌账户的问题。
- 文档
- 新增 百度登录文档
- 新增 钉钉登录文档
- 新增 开源中国登录文档
- 新增 领英登录文档
- 新增 Google 登录文档
- 新增 微信企业版登录文档
- 新增 Facebook 登录文档
- 完善 JustAuth 使用者文档
- 替换“帮助文档”域名,由https://docs.justauth.whnb.wang迁移到https://www.justauth.cn
- 新增
- 增加阿里云授权登录中刷新授权token的接口,by “QQ群用户需求”
- AuthConfig 增加忽略校验 state 的参数,详情参考:Github#Issue#83
- 移除领英刷新token的接口。参考官网:
To refresh an access token, go through the authorization process again to fetch a new token.
- BUG
- 解决
Microsoft
授权失败的 BUG - 解决
Coding
个人账号授权失败的 BUG(目前只能使用团队模式进行授权,需要传入团队名,参考AuthConfig#codingGroupName
) - 解决
AuthLinkedinRequest#getAvatar
NPE 的问题。(领英用户没有头像时,原代码会报 NPE) - 解决抖音登录获取用户地址异常的问题。
- 解决人人网登录时 token 中带有
|
引起的异常,Gitee!15
- 解决
- 新增
- 支持阿里云授权登录,Github#81
- AuthUser 中新增
rawUserInfo
,用来存放第三方平台返回的原始用户数据。注:淘宝平台的rawUserInfo
为一个空 JSON - 支持 Http 级的代理配置,使用方式:
new AuthGoogleRequest(AuthConfig.builder()
.clientId("")
.clientSecret("")
.redirectUri("http://127.0.0.1:8443/oauth/callback/google")
// 针对国外平台配置代理
.httpConfig(HttpConfig.builder()
.timeout(15000)
.proxy(new Proxy(Proxy.Type.HTTP, new InetSocketAddress("127.0.0.1", 10080)))
.build())
.build());
- 修改
- 升级 simple-http 到
v1.0.2
- 升级
fastjson
到v1.2.71
- 升级 simple-http 到
- 删除
- 💥 删除腾讯云登录。coding 已并入 腾讯云,因此只保留 coding 登录 💥
- 文档
- PR
- Issues
- 修复
- 解决 Twitter 授权失败的BUG
- 文档
- 完善 https://www.justauth.cn 的404引导页内容
- 增加名词解释:
uuid
- 补充 Q&A
- 新增 参考文档,包含 OAuth 授权和第三方平台的API文档等内容
- 新增 推特登录 的说明文档
特别注意:所有国外平台都无法直接通过java进行访问API,目前simple-http Release版本,暂不支持添加代理,所以目前需要手动开启代理。
代理开启的方式:
System.setProperty("proxyPort", "10080");
System.setProperty("proxyHost", "127.0.0.1");
以上代码可以在声明 AuthRequest
时创建,也可以全局执行。
本地如果支持科学上网,就用自己本地的代理端口即可,如果不支持科学上网,可以去网上找一些免费的代理IP进行测试(请自行操作)。
- 修改
- 修复使用领英登录时无法获取token的问题
- 解决Gitee Issue-I1GPIB
【声明】:当引用 OkHttp 时,无法调用领英的授权登录,可能会抛出 400 异常。如遇此问题,请先切换到 hutool 或者 httpclient 依赖。 该问题尚在修复中,给各位带来的不便,深表歉意。
-
hutool-http
<dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-http</artifactId> <version>5.2.5</version> </dependency>
-
httpclient
<dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId> <version>4.5.12</version> </dependency>
- 修改
【声明】:由于本人的失误,发布了一个错误的版本(1.15.0),目前1.15.0已发布,但是请不要使用,请直接升级到1.15.1
。
给各位造成的不便,深表歉意。
- 修改
- 合并PR-59,抽取HTTP,具体实现交给开发者,解耦 hutool-http,开发者可以视自己项目的依赖决定使用何种HTTP方式。详情请参考:https://github.com/xkcoding/simple-http
- 合并PR-65,修改错误文案
- 修复其他一些问题
- 修改
- 合并PR-59,抽取HTTP,具体实现交给开发者,解耦 hutool-http,开发者可以视自己项目的依赖决定使用何种HTTP方式。详情请参考:https://github.com/xkcoding/simple-http
- 合并PR-65,修改错误文案
- 修复其他一些问题
- 新增
- 修改
- 修复抖音登录取值取错层级的问题(issue#I15SIG@Gitee)
- 完善异常提示的逻辑,支持传入Source(平台),发生异常时显示对应的source(平台)
checkState
方法从AuthDefaultRequest
中提出到AuthChecker
中AuthResponseStatus
枚举类中增加ILLEGAL_STATUS
、REQUIRED_REFRESH_TOKEN
两个枚举值AuthSource
接口中增加getName
方法,用来对外提供实际source
的字符串值AuthWeiboRequest
微博授权登录中实现revoke
方法,支持手动回收授权- 帮助文档中修复[腾讯云登录]链接错误的问题
- 升级
- 修复Issue#52,解决AuthCallback异常的问题。请正在使用
v1.13.0
的朋友升级到v1.13.1
- 集成“推特”
- 完善文档
- 集成“美团”授权登录
- 集成“饿了么”授权登录
- 升级Fastjson依赖到1.2.60,预防“Fastjson < 1.2.60 远程拒绝服务漏洞预警”
- 添加Nutzboot版的demo
- 提取公共的Source接口,支持自定义扩展第三方平台的授权登录,具体扩展例子可参考AuthExtendRequest
- 集成“Gitlab”授权登录
- 集成“酷家乐”授权登录
- AuthUser添加构造函数,支持反序列化
- 项目迁移到组织justauth
- 集成华为登录
- 修改
AuthChecker#checkCode
方法,对于不同平台使用不同参数接受code的情况统一做处理
合并github上xkcoding 的pr#32,抽取 cache 接口,方便用户自行集成 cache
- 增加
AuthCache
配置类AuthCacheConfig.java
,可以自定义缓存有效期以及是否开启定时任务 - 去掉
slf4j
依赖,封装Log.java
工具类 - 规范测试类
v1.9.4
版本发布失败,请升级到1.9.5
版本!
由此给您带来的不便,敬请谅解!
- 升级
hutool-http
版本到v4.6.1
- 去除
AuthCallback
中增加的默认的校验state的方法,挪到AuthDefaultRequest
中做统一处理 alipay-sdk-java
依赖改为provided
,如果需要使用支付宝登录,需要使用方手动引入相关依赖,具体操作方式,见项目WIKI;- 规范注释
- 规范注释
- 增加State缓存,
AuthCallback
中增加默认的校验state的方法 - 增加默认的state生成方法,参考
AuthStateUtils.java
和UuidUtils.java
- 升级
hutool-http
版本到v4.6.0
- 修复其他一些问题
IpUtils.getIp
改名为IpUtils.getLocalIp
- 规范注释
AuthConfig
类中去掉state参数- 删除
AuthState
类 - 增加
authorize(String)
方法,并且使用@Deprecated
标记authorize()
方法
- 合并github上xkcoding 的pr#26,AuthConfig类添加lombok注解,方便 justauth-spring-boot-starter 直接使用
- 增加
stackoverflow
参数校验 - 解决
Pinterest
获取用户失败的问题 - 添加注释
- 合并github上@dyc12ii 的pr#25,升级fastjson版本至1.2.58,避免安全漏洞
AuthUserGender
枚举类挪到enums
包下- 删除
AuthBaiduErrorCode
和AuthDingTalkErrorCode
枚举类 - 优化百度授权流程,增加refresh token的方法
- 优化
AuthConfig
、AuthResponse
类,去掉不必要的lombonk注解,减少编译后的代码量 - 使用lombok注解优化枚举类
AuthQqRequest
增加refresh方法- 修复google登录无法获取用户信息的问题
- 优化代码
- 合并github上@pengisgood 的pr#19,集成人人
- 合并github上@pengisgood 的pr#20,集成Pinterest
- 合并github上@pengisgood 的pr#21,集成StackOverflow
- 合并github上@xkcoding 的pr#23,重构代码、新增编辑器规范,规范PR代码风格
- 优化代码
- 集成Teambition登录
- 重构UrlBuilder类
- 将CSDN相关的类置为
Deprecated
,后续可能会删除,也可能一直保留。毕竟CSDN的openAPI已经不对外开放了。 BaseAuthRequest
改名为AuthDefaultRequest
ResponseStatus
改名为AuthResponseStatus
并且移动到me.zhyd.oauth.model
- 合并github上@xkcoding 的pr#18,修复小米回调错误问题 同时 支持微信获取unionId
- 新增
AuthState
类,内置默认的state生成规则和校验规则
- 修复百度登录获取不到token失效时间的问题
- 增加state参数校验,预防CSRF。强烈建议启用state!
- 修复百度登录获取不到token失效时间的问题
- 增加state参数校验,预防CSRF。强烈建议启用state!
- 修改login方法的参数为AuthCallback,封装回调返回的参数
- 支持state参数
- 增加code和state参数校验
由于state安全问题,1.8.0以前的版本都有隐藏的CSRF漏洞问题,所以强烈建议正在使用JustAuth的朋友升级到1.8.0版本!
qq授权登录时,需要获取openId
作为uuid
,在1.6.1-beta
和1.7.0
版本中,引入了unionId
这一属性。获取unionid
需要单独向qq团队发送邮件申请权限,鉴于这一申请权限的步骤比较麻烦(需要填写的内容比较多),所以在AuthConfig
中增加了一个unionId
属性,当为true时才会获取unionid,当为false时只获取openId。如果你需要该功能, 则在自行申请了相关权限后,将该属性置为true即可。关于unionId的参考链接:UnionID介绍
- 解决Issue #IY2HW
- 解决Issue #IY2OH
- 解决Issue #IY2FV
- 修复部分注释、拼写错误
- 解决Issue #IY1QR 增加对Config属性的校验功能,主要校验redirect uri的合法性
- 合并skqing提交的PR,解决一些BUG
- 增加今日头条的授权登陆
- 发布1.6.0-beta版本,今日头条开发者暂时不能认证, 所以无法做测试,等测试通过后,正式发布release版本
- 增加小米账号和微软的授权登陆
- 发布1.5.0版本
- 增加抖音和Linkedin的授权登陆
- 修改部分图片命名
- 优化部分代码
- 修复
AuthSource
中腾讯云开发平台的拼写错误:TENCEN_CLOUD
->TENCENT_CLOUD
- 修复支付宝登陆时用户名为空的问题
- 修复一些问题
- 升级api,在AuthUser中增加
uuid
属性,可以通过uuid
+source
唯一确定一个用户,此举解决了用户身份归属的问题。 - 发布1.3.3版本的jar包到公开仓库(1.3.2忘记发布了,( ╯□╰ ))
- 重要:经咨询官方客服得知,CSDN的授权开放平台已经下线,如果以前申请过的应用,可以继续使用,但是不再支持申请新的应用。so, 本项目中的CSDN登录只能针对少部分用户使用了
- 修复QQ登录的问题
- 发布1.3.1版本的jar包到公开仓库
- 新增google授权登录
- 新增facebook授权登录
- 发布1.3.0版本的jar包到公开仓库
- 发布1.1.0版本的jar包到公开仓库(支持qq和微信登录)
- 支持淘宝登录
- 修改
AuthUser.java
类中的accessToken
属性,由原本的~~accessToken (String)~~改为token (AuthToken)
- 修复一些bug
- 发布1.2.0版本的jar包到公开仓库(支持淘宝登录)
- 增加qq和微信的授权登录
- 修改getAccessToken方法的返回值
集成 支付宝授权登录
史上最全的整合第三方登录的工具,目前已支持Github、Gitee、微博、钉钉和百度、Coding、腾讯云开发者平台和OSChina登录。 Login, so easy!