From e1b912bdf6792807a026c09ff4ee9a4826f47a0e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 17 Jun 2022 02:05:50 +0000 Subject: [PATCH 1/7] :arrow_up: Bump fastjson from 1.2.78 to 1.2.83 Bumps [fastjson](https://github.com/alibaba/fastjson) from 1.2.78 to 1.2.83. - [Release notes](https://github.com/alibaba/fastjson/releases) - [Commits](https://github.com/alibaba/fastjson/compare/1.2.78...1.2.83) --- updated-dependencies: - dependency-name: com.alibaba:fastjson dependency-type: direct:production ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 30ceda3..e4ab741 100644 --- a/pom.xml +++ b/pom.xml @@ -60,7 +60,7 @@ 1.0.5 1.18.20 4.13.2 - 1.2.78 + 1.2.83 4.17.5.ALL 0.8.2 From f3a8cf675c9203aeabbe1faefb6216177ac28d0c Mon Sep 17 00:00:00 2001 From: marquis chen <838095230@qq.com> Date: Mon, 5 Sep 2022 16:42:51 +0800 Subject: [PATCH 2/7] =?UTF-8?q?=E4=BC=81=E4=B8=9A=E5=BE=AE=E4=BF=A1?= =?UTF-8?q?=E7=BD=91=E9=A1=B5=E7=99=BB=E5=BD=95=E5=A2=9E=E5=8A=A0AgentId?= =?UTF-8?q?=E5=8F=82=E6=95=B0=EF=BC=8C=E5=AF=B9=E9=87=8D=E5=AE=9A=E5=90=91?= =?UTF-8?q?=E5=9C=B0=E5=9D=80UrlEncode=EF=BC=8C=E8=8E=B7=E5=8F=96=E7=94=A8?= =?UTF-8?q?=E6=88=B7=E6=95=8F=E6=84=9F=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../AbstractAuthWeChatEnterpriseRequest.java | 29 +++++++++++++++---- .../AuthWeChatEnterpriseWebRequest.java | 4 ++- 2 files changed, 26 insertions(+), 7 deletions(-) diff --git a/src/main/java/me/zhyd/oauth/request/AbstractAuthWeChatEnterpriseRequest.java b/src/main/java/me/zhyd/oauth/request/AbstractAuthWeChatEnterpriseRequest.java index 16ff639..a2105cf 100644 --- a/src/main/java/me/zhyd/oauth/request/AbstractAuthWeChatEnterpriseRequest.java +++ b/src/main/java/me/zhyd/oauth/request/AbstractAuthWeChatEnterpriseRequest.java @@ -3,7 +3,6 @@ package me.zhyd.oauth.request; import com.alibaba.fastjson.JSONObject; import me.zhyd.oauth.cache.AuthStateCache; import me.zhyd.oauth.config.AuthConfig; -import me.zhyd.oauth.config.AuthDefaultSource; import me.zhyd.oauth.config.AuthSource; import me.zhyd.oauth.enums.AuthResponseStatus; import me.zhyd.oauth.enums.AuthUserGender; @@ -12,6 +11,7 @@ import me.zhyd.oauth.model.AuthCallback; import me.zhyd.oauth.model.AuthToken; import me.zhyd.oauth.model.AuthUser; import me.zhyd.oauth.utils.HttpUtils; +import me.zhyd.oauth.utils.StringUtils; import me.zhyd.oauth.utils.UrlBuilder; /** @@ -56,8 +56,8 @@ public abstract class AbstractAuthWeChatEnterpriseRequest extends AuthDefaultReq throw new AuthException(AuthResponseStatus.UNIDENTIFIED_PLATFORM, source); } String userId = object.getString("UserId"); - String userDetailResponse = getUserDetail(authToken.getAccessToken(), userId); - JSONObject userDetail = this.checkResponse(userDetailResponse); + String userTicket = object.getString("user_ticket"); + JSONObject userDetail = getUserDetail(authToken.getAccessToken(), userId, userTicket); return AuthUser.builder() .rawUserInfo(userDetail) @@ -123,14 +123,31 @@ public abstract class AbstractAuthWeChatEnterpriseRequest extends AuthDefaultReq * * @param accessToken accessToken * @param userId 企业内用户id + * @param userTicket 成员票据,用于获取用户信息或敏感信息 * @return 用户详情 */ - private String getUserDetail(String accessToken, String userId) { - String userDetailUrl = UrlBuilder.fromBaseUrl("https://qyapi.weixin.qq.com/cgi-bin/user/get") + private JSONObject getUserDetail(String accessToken, String userId, String userTicket) { + // 用户基础信息 + String userInfoUrl = UrlBuilder.fromBaseUrl("https://qyapi.weixin.qq.com/cgi-bin/user/get") .queryParam("access_token", accessToken) .queryParam("userid", userId) .build(); - return new HttpUtils(config.getHttpConfig()).get(userDetailUrl).getBody(); + String userInfoResponse = new HttpUtils(config.getHttpConfig()).get(userInfoUrl).getBody(); + JSONObject userInfo = checkResponse(userInfoResponse); + + // 用户敏感信息 + if (StringUtils.isNotEmpty(userTicket)) { + String userDetailUrl = UrlBuilder.fromBaseUrl("https://qyapi.weixin.qq.com/cgi-bin/auth/getuserdetail") + .queryParam("access_token", accessToken) + .build(); + JSONObject param = new JSONObject(); + param.put("user_ticket", userTicket); + String userDetailResponse = new HttpUtils(config.getHttpConfig()).post(userDetailUrl, param.toJSONString()).getBody(); + JSONObject userDetail = checkResponse(userDetailResponse); + + userInfo.putAll(userDetail); + } + return userInfo; } } diff --git a/src/main/java/me/zhyd/oauth/request/AuthWeChatEnterpriseWebRequest.java b/src/main/java/me/zhyd/oauth/request/AuthWeChatEnterpriseWebRequest.java index 3a9747f..1a139cf 100644 --- a/src/main/java/me/zhyd/oauth/request/AuthWeChatEnterpriseWebRequest.java +++ b/src/main/java/me/zhyd/oauth/request/AuthWeChatEnterpriseWebRequest.java @@ -5,6 +5,7 @@ import me.zhyd.oauth.config.AuthConfig; import me.zhyd.oauth.config.AuthDefaultSource; import me.zhyd.oauth.enums.scope.AuthWeChatEnterpriseWebScope; import me.zhyd.oauth.utils.AuthScopeUtils; +import me.zhyd.oauth.utils.GlobalAuthUtils; import me.zhyd.oauth.utils.UrlBuilder; /** @@ -28,7 +29,8 @@ public class AuthWeChatEnterpriseWebRequest extends AbstractAuthWeChatEnterprise public String authorize(String state) { return UrlBuilder.fromBaseUrl(source.authorize()) .queryParam("appid", config.getClientId()) - .queryParam("redirect_uri", config.getRedirectUri()) + .queryParam("agentid", config.getAgentId()) + .queryParam("redirect_uri", GlobalAuthUtils.urlEncode(config.getRedirectUri())) .queryParam("response_type", "code") .queryParam("scope", this.getScopes(",", false, AuthScopeUtils.getDefaultScopes(AuthWeChatEnterpriseWebScope.values()))) .queryParam("state", getRealState(state).concat("#wechat_redirect")) From 7a9d602499894df1977d87d7e3c74e032bc8941b Mon Sep 17 00:00:00 2001 From: chengpengxiang <15503679582@163.com> Date: Mon, 3 Oct 2022 13:17:28 +0800 Subject: [PATCH 3/7] =?UTF-8?q?test:=E6=B7=BB=E5=8A=A0=E9=A3=9E=E4=B9=A6?= =?UTF-8?q?=E5=8D=95=E5=85=83=E6=B5=8B=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../oauth/request/AuthFeiShuRequestTest.java | 84 +++++++++++++++++++ 1 file changed, 84 insertions(+) create mode 100644 src/test/java/me/zhyd/oauth/request/AuthFeiShuRequestTest.java diff --git a/src/test/java/me/zhyd/oauth/request/AuthFeiShuRequestTest.java b/src/test/java/me/zhyd/oauth/request/AuthFeiShuRequestTest.java new file mode 100644 index 0000000..f6e653b --- /dev/null +++ b/src/test/java/me/zhyd/oauth/request/AuthFeiShuRequestTest.java @@ -0,0 +1,84 @@ +package me.zhyd.oauth.request; + +import com.alibaba.fastjson.JSON; +import me.zhyd.oauth.config.AuthConfig; +import me.zhyd.oauth.model.AuthCallback; +import me.zhyd.oauth.model.AuthResponse; +import me.zhyd.oauth.model.AuthToken; +import me.zhyd.oauth.model.AuthUser; +import me.zhyd.oauth.utils.AuthStateUtils; +import org.junit.Assert; +import org.junit.Test; + +/** + * @ClassName AuthFeiShuRequestTest + * @Author jackcheng(chen781142032@gamil.com) + * @version 1.0 + * @since 1.16.5 + * @Date 2022/10/1 11:23 + * @Description 飞书第三方登录测试类 先执行authorize()方法获取state以及authorizeUrl, + * 然后在浏览器中打开authorizeUrl,登录成功后会跳转到redirectUri,并且会携带code和state参数 + **/ +public class AuthFeiShuRequestTest { + + @Test + public void authorize() { + AuthRequest request = new AuthFeishuRequest(AuthConfig.builder() + .clientId("your App ID") + .clientSecret("your App Secret") + .redirectUri("you set redirect uri") + .build()); + String state = AuthStateUtils.createState(); + System.out.println("state==" + state); + String authorize = request.authorize(state); + System.out.println("authorize==" + authorize); + Assert.assertNotNull(authorize); + } + + @Test + public void getAccessTokenAndUserInfo() { + AuthRequest request = new AuthFeishuRequest(AuthConfig.builder() + .clientId("your App ID") + .clientSecret("your App Secret") + .redirectUri("you set redirect uri") + .build()); + + String state = "your state"; + + AuthCallback callback = AuthCallback.builder() + .code("your code") + .state(state) + .build(); + AuthToken accessToken = ((AuthFeishuRequest) request).getAccessToken(callback); + Assert.assertNotNull(accessToken); + System.out.println("token==" + accessToken.getAccessToken()); + + AuthUser userInfo = ((AuthFeishuRequest) request).getUserInfo(accessToken); + Assert.assertNotNull(userInfo); + System.out.println("userInfo==" + JSON.toJSONString(userInfo)); + + } + + @Test + public void login() { + AuthRequest request = new AuthFeishuRequest(AuthConfig.builder() + .clientId("your App ID") + .clientSecret("your App Secret") + .redirectUri("you set redirect uri") + .build()); + + String state = "your state"; + request.authorize(state); + AuthCallback callback = AuthCallback.builder() + .code("your code") + .state(state) + .build(); + AuthResponse response = request.login(callback); + Assert.assertNotNull(response); + AuthUser user = (AuthUser) response.getData(); + Assert.assertNotNull(user); + System.out.println(JSON.toJSONString(user)); + } + +} + From bac494a7fc2679c1beb23dea1720803645ee9afe Mon Sep 17 00:00:00 2001 From: alexchan Date: Fri, 21 Oct 2022 16:22:13 +0800 Subject: [PATCH 4/7] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E4=BC=81=E4=B8=9A?= =?UTF-8?q?=E5=BE=AE=E4=BF=A1=E7=9A=84=20redirect=5Furi=20=E6=B2=A1?= =?UTF-8?q?=E6=9C=89=20urlEncode=20=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../AuthWeChatEnterpriseWebRequest.java | 3 ++- .../AuthWeChatEnterpriseWebRequestTest.java | 20 +++++++++++++++++++ 2 files changed, 22 insertions(+), 1 deletion(-) create mode 100644 src/test/java/me/zhyd/oauth/request/AuthWeChatEnterpriseWebRequestTest.java diff --git a/src/main/java/me/zhyd/oauth/request/AuthWeChatEnterpriseWebRequest.java b/src/main/java/me/zhyd/oauth/request/AuthWeChatEnterpriseWebRequest.java index 3a9747f..5d51792 100644 --- a/src/main/java/me/zhyd/oauth/request/AuthWeChatEnterpriseWebRequest.java +++ b/src/main/java/me/zhyd/oauth/request/AuthWeChatEnterpriseWebRequest.java @@ -5,6 +5,7 @@ import me.zhyd.oauth.config.AuthConfig; import me.zhyd.oauth.config.AuthDefaultSource; import me.zhyd.oauth.enums.scope.AuthWeChatEnterpriseWebScope; import me.zhyd.oauth.utils.AuthScopeUtils; +import me.zhyd.oauth.utils.GlobalAuthUtils; import me.zhyd.oauth.utils.UrlBuilder; /** @@ -28,7 +29,7 @@ public class AuthWeChatEnterpriseWebRequest extends AbstractAuthWeChatEnterprise public String authorize(String state) { return UrlBuilder.fromBaseUrl(source.authorize()) .queryParam("appid", config.getClientId()) - .queryParam("redirect_uri", config.getRedirectUri()) + .queryParam("redirect_uri", GlobalAuthUtils.urlEncode(config.getRedirectUri())) .queryParam("response_type", "code") .queryParam("scope", this.getScopes(",", false, AuthScopeUtils.getDefaultScopes(AuthWeChatEnterpriseWebScope.values()))) .queryParam("state", getRealState(state).concat("#wechat_redirect")) diff --git a/src/test/java/me/zhyd/oauth/request/AuthWeChatEnterpriseWebRequestTest.java b/src/test/java/me/zhyd/oauth/request/AuthWeChatEnterpriseWebRequestTest.java new file mode 100644 index 0000000..b0d1c93 --- /dev/null +++ b/src/test/java/me/zhyd/oauth/request/AuthWeChatEnterpriseWebRequestTest.java @@ -0,0 +1,20 @@ +package me.zhyd.oauth.request; + +import me.zhyd.oauth.config.AuthConfig; +import me.zhyd.oauth.utils.AuthStateUtils; +import org.junit.Test; + +import static org.junit.Assert.*; + +public class AuthWeChatEnterpriseWebRequestTest { + + @Test + public void authorize() { + AuthRequest request = new AuthWeChatEnterpriseWebRequest(AuthConfig.builder() + .clientId("a") + .clientSecret("a") + .redirectUri("https://www.justauth.cn") + .build()); + System.out.println(request.authorize(AuthStateUtils.createState())); + } +} From 142846b2fa045958517be3f3e06051492d994b05 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=9F=A9=E5=B8=85?= Date: Tue, 21 Mar 2023 17:42:46 +0800 Subject: [PATCH 5/7] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E7=88=B1=E5=8F=91?= =?UTF-8?q?=E7=94=B5=E5=B9=B3=E5=8F=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../zhyd/oauth/config/AuthDefaultSource.java | 24 ++++++ .../zhyd/oauth/request/AuthAfDianRequest.java | 73 +++++++++++++++++++ 2 files changed, 97 insertions(+) create mode 100644 src/main/java/me/zhyd/oauth/request/AuthAfDianRequest.java diff --git a/src/main/java/me/zhyd/oauth/config/AuthDefaultSource.java b/src/main/java/me/zhyd/oauth/config/AuthDefaultSource.java index 70e784f..e115bfc 100644 --- a/src/main/java/me/zhyd/oauth/config/AuthDefaultSource.java +++ b/src/main/java/me/zhyd/oauth/config/AuthDefaultSource.java @@ -1268,6 +1268,30 @@ public enum AuthDefaultSource implements AuthSource { return "https://www.proginn.com/openapi/user/basic_info"; } + @Override + public Class getTargetClass() { + return AuthProginnRequest.class; + } + }, + /** + * 爱发电 爱发电 + */ + AFDIAN { + @Override + public String authorize() { + return "https://afdian.net/oauth2/authorize"; + } + + @Override + public String accessToken() { + return "https://afdian.net/api/oauth2/access_token"; + } + + @Override + public String userInfo() { + return ""; + } + @Override public Class getTargetClass() { return AuthProginnRequest.class; diff --git a/src/main/java/me/zhyd/oauth/request/AuthAfDianRequest.java b/src/main/java/me/zhyd/oauth/request/AuthAfDianRequest.java new file mode 100644 index 0000000..b30385e --- /dev/null +++ b/src/main/java/me/zhyd/oauth/request/AuthAfDianRequest.java @@ -0,0 +1,73 @@ +package me.zhyd.oauth.request; + +import com.alibaba.fastjson.JSONObject; +import me.zhyd.oauth.cache.AuthStateCache; +import me.zhyd.oauth.config.AuthConfig; +import me.zhyd.oauth.config.AuthDefaultSource; +import me.zhyd.oauth.enums.AuthUserGender; +import me.zhyd.oauth.model.AuthCallback; +import me.zhyd.oauth.model.AuthToken; +import me.zhyd.oauth.model.AuthUser; +import me.zhyd.oauth.utils.HttpUtils; +import me.zhyd.oauth.utils.UrlBuilder; + +import java.util.HashMap; +import java.util.Map; + +/** + * 爱发电 + * + * @author handy + */ +public class AuthAfDianRequest extends AuthDefaultRequest { + + public AuthAfDianRequest(AuthConfig config) { + super(config, AuthDefaultSource.AFDIAN); + } + + public AuthAfDianRequest(AuthConfig config, AuthStateCache authStateCache) { + super(config, AuthDefaultSource.AFDIAN, authStateCache); + } + + @Override + protected AuthToken getAccessToken(AuthCallback authCallback) { + Map params = new HashMap<>(); + params.put("grant_type", "authorization_code"); + params.put("client_id", config.getClientId()); + params.put("client_secret", config.getClientSecret()); + params.put("code", authCallback.getCode()); + params.put("redirect_uri", config.getRedirectUri()); + String response = new HttpUtils(config.getHttpConfig()).post(AuthDefaultSource.AFDIAN.accessToken(), params, false).getBody(); + JSONObject accessTokenObject = JSONObject.parseObject(response); + String userId = accessTokenObject.getJSONObject("data").getString("user_id"); + return AuthToken.builder().userId(userId).build(); + } + + @Override + protected AuthUser getUserInfo(AuthToken authToken) { + return AuthUser.builder() + .uuid(authToken.getUserId()) + .gender(AuthUserGender.UNKNOWN) + .token(authToken) + .source(source.toString()) + .build(); + } + + /** + * 返回带{@code state}参数的授权url,授权回调时会带上这个{@code state} + * + * @param state state 验证授权流程的参数,可以防止csrf + * @return 返回授权地址 + */ + @Override + public String authorize(String state) { + return UrlBuilder.fromBaseUrl(source.authorize()) + .queryParam("response_type", "code") + .queryParam("scope", "basic") + .queryParam("client_id", config.getClientId()) + .queryParam("redirect_uri", config.getRedirectUri()) + .queryParam("state", getRealState(state)) + .build(); + } + +} From dc18304eeedadd7112330fb7dd9b97de9a2c29fa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=9F=A9=E5=B8=85?= Date: Fri, 24 Mar 2023 16:50:37 +0800 Subject: [PATCH 6/7] =?UTF-8?q?feat:=20=E6=96=B0=E5=A2=9Eafdian=E6=8E=88?= =?UTF-8?q?=E6=9D=83=E7=A4=BA=E4=BE=8B=E5=9B=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- example.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/example.md b/example.md index 65342b1..6e16abf 100644 --- a/example.md +++ b/example.md @@ -96,6 +96,10 @@ _注:非全部平台,部分平台可能不存在图例_ ![授权Stack Overflow](https://images.gitee.com/uploads/images/2019/0718/192639_cc301ba7_784199.png "授权Stack Overflow") +#### 授权afdian + +![授权afdian](https://img.fastmirror.net/s/2023/03/24/641d63a8c19b5.png "授权afDian") + #### 授权Twitter ![授权Twitter]( "授权Twitter") From a7cb4aefc06cdcb804348df8b5d8cc7b5b51e7d9 Mon Sep 17 00:00:00 2001 From: "yadong.zhang" Date: Tue, 11 Apr 2023 22:38:04 +0800 Subject: [PATCH 7/7] =?UTF-8?q?=E6=9B=BF=E6=8D=A2=20justauth.wiki=20?= =?UTF-8?q?=E5=9F=9F=E5=90=8D=EF=BC=8C=E8=AF=A5=E5=9F=9F=E5=90=8D=E6=9A=82?= =?UTF-8?q?=E6=97=B6=E4=B8=8D=E5=8F=AF=E7=94=A8=EF=BC=8C=E8=AF=B7=E4=BD=BF?= =?UTF-8?q?=E7=94=A8=20justauth.cn?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/FUNDING.yml | 2 +- .github/ISSUE_TEMPLATE/bug_report.md | 4 ++-- CHANGELOGS.md | 12 ++++++------ README.en-US.md | 10 +++++----- README.md | 28 ++++++++++++++-------------- docs/index.html | 2 +- 6 files changed, 29 insertions(+), 29 deletions(-) diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml index 1ebc15f..5952cad 100644 --- a/.github/FUNDING.yml +++ b/.github/FUNDING.yml @@ -9,4 +9,4 @@ community_bridge: # Replace with a single Community Bridge project-name e.g., cl liberapay: # Replace with a single Liberapay username issuehunt: # Replace with a single IssueHunt username otechie: # Replace with a single Otechie username -custom: ['https://justauth.wiki/sponsor.html'] +custom: ['https://www.justauth.cn/sponsor.html'] diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md index ba27a28..df2d995 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -9,8 +9,8 @@ assignees: '' ## Pre-submission checklist: - [ ] I have searched the relevant information in the existing list of Issues. -- [ ] I have searched the developer documentation for that information: https://justauth.wiki -- [ ] I have read the relevant Q&A: https://justauth.wiki +- [ ] I have searched the developer documentation for that information: https://www.justauth.cn +- [ ] I have read the relevant Q&A: https://www.justauth.cn ## Issue description diff --git a/CHANGELOGS.md b/CHANGELOGS.md index da583bb..84b6584 100644 --- a/CHANGELOGS.md +++ b/CHANGELOGS.md @@ -161,7 +161,7 @@ - 新增 [微信企业版登录](oauth/wechatEnterprise.md)文档 - 新增 [Facebook 登录](oauth/facebook.md)文档 - 完善 [JustAuth 使用者](users.md)文档 - - 替换“帮助文档”域名,由[https://docs.justauth.whnb.wang](https://docs.justauth.whnb.wang)迁移到[https://justauth.wiki](https://justauth.wiki) + - 替换“帮助文档”域名,由[https://docs.justauth.whnb.wang](https://docs.justauth.whnb.wang)迁移到[https://www.justauth.cn](https://www.justauth.cn) - 新增 - 增加阿里云授权登录中刷新授权token的接口,by “QQ群用户需求” - AuthConfig 增加忽略校验 state 的参数,详情参考:[Github#Issue#83](https://github.com/justauth/JustAuth/issues/83) @@ -214,7 +214,7 @@ new AuthGoogleRequest(AuthConfig.builder() - 修复 - 解决 Twitter 授权失败的BUG - 文档 - - 完善 [https://justauth.wiki](https://justauth.wiki/) 的404引导页内容 + - 完善 [https://www.justauth.cn](https://www.justauth.cn/) 的404引导页内容 - 增加名词解释: `uuid` - 补充 [Q&A](Q&A.md) - 新增 [参考文档](references.md),包含 OAuth 授权和第三方平台的API文档等内容 @@ -294,9 +294,9 @@ System.setProperty("proxyHost", "127.0.0.1"); - 新增 - 增加微信、QQ、支付宝、微博授权登录的帮助文档 - 合并[PR#57](https://github.com/justauth/JustAuth/pull/57),增加微信公众号登录 by [@xkcoding](https://github.com/xkcoding) - - [帮助文档](https://justauth.wiki)中增加自定义的404页面 - - [帮助文档](https://justauth.wiki)中增加Gittalk插件 - - [帮助文档](https://justauth.wiki)中增加Java代码高亮的插件 + - [帮助文档](https://www.justauth.cn)中增加自定义的404页面 + - [帮助文档](https://www.justauth.cn)中增加Gittalk插件 + - [帮助文档](https://www.justauth.cn)中增加Java代码高亮的插件 - 增加`AuthUserGender#getWechatRealGender`方法,兼容获取微信平台的用户性别 - 修改 - 修复抖音登录取值取错层级的问题([issue#I15SIG@Gitee](https://gitee.com/yadong.zhang/JustAuth/issues/I15SIG)) @@ -305,7 +305,7 @@ System.setProperty("proxyHost", "127.0.0.1"); - `AuthResponseStatus`枚举类中增加`ILLEGAL_STATUS`、`REQUIRED_REFRESH_TOKEN`两个枚举值 - `AuthSource`接口中增加`getName`方法,用来对外提供实际`source`的字符串值 - `AuthWeiboRequest`微博授权登录中实现`revoke`方法,支持手动回收授权 - - [帮助文档](https://justauth.wiki)中修复[腾讯云登录]链接错误的问题 + - [帮助文档](https://www.justauth.cn)中修复[腾讯云登录]链接错误的问题 - 升级 - 升级相关依赖:lombok@v1.18.10,hutool@5.0.5,fastjson@1.2.62,alipay@4.8.10.ALL([PR#11@Gitee](https://gitee.com/yadong.zhang/JustAuth/pulls/11)) diff --git a/README.en-US.md b/README.en-US.md index f51ccef..5ab43f4 100644 --- a/README.en-US.md +++ b/README.en-US.md @@ -1,5 +1,5 @@

- +

Login, so easy. @@ -17,7 +17,7 @@ - + @@ -43,7 +43,7 @@ `JustAuth`, as you see, It is just a Java library of third-party authorized login, It's smaller and easier to use. JustAuth is the best third-party login tool written in JAVA. Source Code:[gitee](https://gitee.com/yadong.zhang/JustAuth) | [github](https://github.com/zhangyd-c/JustAuth) -Docs:[Reference Doc](https://justauth.wiki) +Docs:[Reference Doc](https://www.justauth.cn) ## Features @@ -180,11 +180,11 @@ I look forward to your joining us. ## Contributors -[contributors](https://justauth.wiki/contributors.html) +[contributors](https://www.justauth.cn/contributors.html) ## Change Logs -[CHANGELOGS](https://justauth.wiki/update.html) +[CHANGELOGS](https://www.justauth.cn/update.html) ## Recommend diff --git a/README.md b/README.md index 2ac8173..33e9380 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@

- +

Login, so easy. @@ -17,7 +17,7 @@ - + @@ -40,13 +40,13 @@ QQ 群:230017570 微信群:justauth (备注`justauth`或者`ja`) -帮助文档:[justauth.wiki](https://justauth.wiki) +帮助文档:[justauth.wiki](https://www.justauth.cn) ## 什么是 JustAuth? JustAuth,如你所见,它仅仅是一个**第三方授权登录**的**工具类库**,它可以让我们脱离繁琐的第三方登录 SDK,让登录变得**So easy!** -JustAuth 集成了诸如:Github、Gitee、支付宝、新浪微博、微信、Google、Facebook、Twitter、StackOverflow等国内外数十家第三方平台。更多请参考已集成的平台 +JustAuth 集成了诸如:Github、Gitee、支付宝、新浪微博、微信、Google、Facebook、Twitter、StackOverflow等国内外数十家第三方平台。更多请参考已集成的平台 ## 有哪些特点? @@ -55,12 +55,12 @@ JustAuth 集成了诸如:Github、Gitee、支付宝、新浪微博、微信、 ## 有哪些功能? -- 集成国内外数十家第三方平台,实现快速接入。参考文档 -- 自定义 State 缓存,支持各种分布式缓存组件。参考文档 -- 自定义 OAuth 平台,更容易适配自有的 OAuth 服务。参考文档 -- 自定义 Http 实现,选择权完全交给开发者,不会单独依赖某一具体实现。参考文档 -- 自定义 Scope,支持更完善的授权体系。参考文档 -- 更多...参考文档 +- 集成国内外数十家第三方平台,实现快速接入。参考文档 +- 自定义 State 缓存,支持各种分布式缓存组件。参考文档 +- 自定义 OAuth 平台,更容易适配自有的 OAuth 服务。参考文档 +- 自定义 Http 实现,选择权完全交给开发者,不会单独依赖某一具体实现。参考文档 +- 自定义 Scope,支持更完善的授权体系。参考文档 +- 更多...参考文档 ## 快速开始 @@ -214,7 +214,7 @@ AuthRequest authRequest = AuthRequestBuilder.builder() 感谢以下赞助商的支持: -[我要赞助](https://justauth.wiki/sponsor.html) +[我要赞助](https://www.justauth.cn/sponsor.html) ## JustAuth 的用户 有很多公司、组织和个人把 JustAuth 用于学习、研究、生产环境和商业产品中,包括(但不限于): @@ -234,7 +234,7 @@ AuthRequest authRequest = AuthRequestBuilder.builder() - `mica` SpringBoot 微服务高效开发工具集: [https://github.com/lets-mica/mica](https://github.com/lets-mica/mica) - `sureness` 面向restful api的高性能认证鉴权框架:[sureness](https://github.com/usthe/sureness) -更多推荐,请参考:[JustAuth - 开源推荐](https://justauth.wiki) +更多推荐,请参考:[JustAuth - 开源推荐](https://www.justauth.cn) ## 鸣谢 @@ -246,8 +246,8 @@ AuthRequest authRequest = AuthRequestBuilder.builder() ## 其他 -- [CONTRIBUTORS](https://justauth.wiki/contributors.html) -- [CHANGELOGS](https://justauth.wiki/update.html) +- [CONTRIBUTORS](https://www.justauth.cn/contributors.html) +- [CHANGELOGS](https://www.justauth.cn/update.html) - [PLAN](https://gitee.com/yadong.zhang/JustAuth/issues/IUGRK) ## 贡献者列表 diff --git a/docs/index.html b/docs/index.html index 4495b27..260dfa3 100644 --- a/docs/index.html +++ b/docs/index.html @@ -16,7 +16,7 @@