CHANGELOGS.md
微信小程序登录能力,对接文档:点击查看。支付宝证书模式登录能力(原支持的公钥登录模式依然可用),对接文档:点击查看。appleid社交登录能力,对接文档:点击查看。 Github#192QQ小程序社交登录能力。 Github#223figma社交登录能力。 Gitee#41企业微信扫码登录能力,对接文档:点击查看。 Github Issue#165钉钉扫码登录能力,对接文档:点击查看。 Gitee Issue#I73FZL华为登录能力,对接文档:点击查看,原AuthHuaweiRequest会在后面版本被弃用,如有使用,请切换到AuthHuaweiV3Requestcode_verifier 基于 state 缓存AuthRequest响应时携带泛型,避免二次解析。Gitee#38getAccessToken和getUserInfo两个方法从AuthDefaultRequest提升至AuthRequest中,部分场景下可以减少一次网络请求。Github Issue#194
getAccessToken和getUserInfo接口的访问级别是否正确!!!uid的问题、增加刷新token的功能fastjson 到 v1.2.76AuthConfig中的codingGroupName参数更名为domainPrefix,针对此类平台提供通用的配置。AuthFacebookScope 中的默认 scope,解决 justauth-demo 项目中使用 facebook 报错的问题refreshTokenExpireIn 记录 refresh token 的有效期ClientOsType参数提到 AuthConfig 中AuthWeChatEnterpriseQrcodeRequest,升级后注意该点注意:可能有些开发者对于 JA 集成的四个微信平台不太理解,这儿统一说明:
To refresh an access token, go through the authorization process again to fetch a new token.Microsoft 授权失败的 BUGCoding 个人账号授权失败的 BUG(目前只能使用团队模式进行授权,需要传入团队名,参考AuthConfig#codingGroupName)AuthLinkedinRequest#getAvatar NPE 的问题。(领英用户没有头像时,原代码会报 NPE)| 引起的异常,Gitee!15rawUserInfo,用来存放第三方平台返回的原始用户数据。注:淘宝平台的rawUserInfo为一个空 JSONnew 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());
v1.0.2fastjson 到 v1.2.71uuid特别注意:所有国外平台都无法直接通过java进行访问API,目前simple-http Release版本,暂不支持添加代理,所以目前需要手动开启代理。
代理开启的方式:
System.setProperty("proxyPort", "10080");
System.setProperty("proxyHost", "127.0.0.1");
以上代码可以在声明 AuthRequest 时创建,也可以全局执行。
本地如果支持科学上网,就用自己本地的代理端口即可,如果不支持科学上网,可以去网上找一些免费的代理IP进行测试(请自行操作)。
【声明】:当引用 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。
给各位造成的不便,深表歉意。
checkState方法从AuthDefaultRequest中提出到AuthChecker中AuthResponseStatus枚举类中增加ILLEGAL_STATUS、REQUIRED_REFRESH_TOKEN两个枚举值AuthSource接口中增加getName方法,用来对外提供实际source的字符串值AuthWeiboRequest微博授权登录中实现revoke方法,支持手动回收授权v1.13.0的朋友升级到v1.13.1AuthChecker#checkCode方法,对于不同平台使用不同参数接受code的情况统一做处理合并github上xkcoding 的pr#32,抽取 cache 接口,方便用户自行集成 cache
AuthCache配置类AuthCacheConfig.java,可以自定义缓存有效期以及是否开启定时任务slf4j依赖,封装Log.java工具类v1.9.4版本发布失败,请升级到1.9.5版本!
由此给您带来的不便,敬请谅解!
hutool-http版本到v4.6.1AuthCallback中增加的默认的校验state的方法,挪到AuthDefaultRequest中做统一处理alipay-sdk-java依赖改为provided,如果需要使用支付宝登录,需要使用方手动引入相关依赖,具体操作方式,见项目WIKI;AuthCallback中增加默认的校验state的方法AuthStateUtils.java和UuidUtils.javahutool-http版本到v4.6.0IpUtils.getIp改名为IpUtils.getLocalIpAuthConfig类中去掉state参数AuthState类authorize(String)方法,并且使用@Deprecated标记authorize()方法stackoverflow参数校验Pinterest获取用户失败的问题AuthUserGender枚举类挪到enums包下AuthBaiduErrorCode和AuthDingTalkErrorCode枚举类AuthConfig、AuthResponse类,去掉不必要的lombonk注解,减少编译后的代码量AuthQqRequest增加refresh方法Deprecated,后续可能会删除,也可能一直保留。毕竟CSDN的openAPI已经不对外开放了。BaseAuthRequest 改名为 AuthDefaultRequestResponseStatus 改名为 AuthResponseStatus 并且移动到 me.zhyd.oauth.modelAuthState 类,内置默认的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介绍
AuthSource中腾讯云开发平台的拼写错误:TENCEN_CLOUD->TENCENT_CLOUDuuid属性,可以通过uuid + source唯一确定一个用户,此举解决了用户身份归属的问题。AuthUser.java类中的accessToken属性,由原本的~~accessToken (String)~~改为token (AuthToken)集成 支付宝授权登录
史上最全的整合第三方登录的工具,目前已支持Github、Gitee、微博、钉钉和百度、Coding、腾讯云开发者平台和OSChina登录。 Login, so easy!