From a530f5b5c5aead24438328205d0ca2359ae5087e Mon Sep 17 00:00:00 2001 From: shenqicheng <1317225796@qq.com> Date: Thu, 29 Oct 2020 23:43:30 +0800 Subject: [PATCH] =?UTF-8?q?signUpUrl=20=E4=BF=AE=E6=94=B9=E9=BB=98?= =?UTF-8?q?=E8=AE=A4=E5=80=BC=E4=B8=BA=20null;=20=E4=BE=8B:=20"/signUp";?= =?UTF-8?q?=20=E6=B7=BB=E5=8A=A0=E8=AF=A5=E5=AD=97=E6=AE=B5=E5=88=99?= =?UTF-8?q?=E8=B7=B3=E8=BD=AC=E6=8C=87=E5=AE=9Aurl=E8=BF=9B=E8=A1=8C?= =?UTF-8?q?=E6=B3=A8=E5=86=8C,=20=E5=90=A6=E5=88=99=E6=89=A7=E8=A1=8C?= =?UTF-8?q?=E9=BB=98=E8=AE=A4=E8=AE=A4=E8=AF=81=E6=B5=81=E7=A8=8B;=20?= =?UTF-8?q?=E6=83=B3=E4=BC=A0=E8=87=AA=E5=AE=9A=E4=B9=89=20json=20?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E5=88=B0=E5=89=8D=E7=AB=AF,=20=E8=BF=99?= =?UTF-8?q?=E9=87=8C=E8=A6=81=E8=AE=BE=E7=BD=AE=20null=20,=20=E5=9C=A8?= =?UTF-8?q?=E6=88=90=E5=8A=9F=E5=A4=84=E7=90=86=E5=99=A8=E4=B8=8A=E5=A4=84?= =?UTF-8?q?=E7=90=86=E8=BF=94=E5=9B=9E=20json?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../login/Auth2LoginAuthenticationFilter.java | 5 +++-- .../core/oauth/properties/Auth2Properties.java | 13 +++++++------ 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/src/main/java/top/dcenter/ums/security/core/oauth/filter/login/Auth2LoginAuthenticationFilter.java b/src/main/java/top/dcenter/ums/security/core/oauth/filter/login/Auth2LoginAuthenticationFilter.java index d93a895..a3d89ad 100644 --- a/src/main/java/top/dcenter/ums/security/core/oauth/filter/login/Auth2LoginAuthenticationFilter.java +++ b/src/main/java/top/dcenter/ums/security/core/oauth/filter/login/Auth2LoginAuthenticationFilter.java @@ -16,6 +16,7 @@ package top.dcenter.ums.security.core.oauth.filter.login; import org.springframework.lang.NonNull; +import org.springframework.lang.Nullable; import org.springframework.security.authentication.AuthenticationManager; import org.springframework.security.authentication.event.InteractiveAuthenticationSuccessEvent; import org.springframework.security.core.Authentication; @@ -125,7 +126,7 @@ public class Auth2LoginAuthenticationFilter extends AbstractAuthenticationProces * @param signUpUrl 第三方授权登录后如未注册用户不支持自动注册功能, 这跳转到此 url 进行注册逻辑, 此 url 必须开发者自己实现 * @since 5.1 */ - public Auth2LoginAuthenticationFilter(@NonNull String filterProcessesUrl, @NonNull String signUpUrl) { + public Auth2LoginAuthenticationFilter(@NonNull String filterProcessesUrl, @Nullable String signUpUrl) { super(filterProcessesUrl + "/*"); this.authorizationRequestResolver = new Auth2DefaultRequestResolver(filterProcessesUrl); this.signUpUrl = signUpUrl; @@ -180,7 +181,7 @@ public class Auth2LoginAuthenticationFilter extends AbstractAuthenticationProces } final Object principal = authResult.getPrincipal(); - if (principal instanceof TemporaryUser) { + if (principal instanceof TemporaryUser && StringUtils.hasText(this.signUpUrl)) { this.redirectStrategy.sendRedirect(request, response, this.signUpUrl); return; } diff --git a/src/main/java/top/dcenter/ums/security/core/oauth/properties/Auth2Properties.java b/src/main/java/top/dcenter/ums/security/core/oauth/properties/Auth2Properties.java index 934dea2..713d4b6 100644 --- a/src/main/java/top/dcenter/ums/security/core/oauth/properties/Auth2Properties.java +++ b/src/main/java/top/dcenter/ums/security/core/oauth/properties/Auth2Properties.java @@ -180,11 +180,11 @@ public class Auth2Properties { */ private JdProperties jd = new JdProperties(); /** - * 字段名称与其所代表的第三方的 providerId 相同. + * 字段名称与其所代表的第三方的 providerId 相同. */ private AliyunProperties aliyun = new AliyunProperties(); - + // =================== OAuth2 属性 =================== /** * 抑制反射警告, 支持 JDK11, 默认: false , @@ -204,9 +204,10 @@ public class Auth2Properties { private Boolean autoSignUp = true; /** - * 第三方授权登录后如未注册用户不支持自动注册功能, 这跳转到此 url 进行注册逻辑, 此 url 必须开发者自己实现; 默认: "/signUp"
+ * 第三方授权登录后如未注册用户不支持自动注册功能, 这跳转到此 url 进行注册逻辑, 此 url 必须开发者自己实现; 默认: null; 例: "/signUp"; + * 添加该字段则跳转指定url进行注册, 否则执行默认认证流程; 想传自定义 json 数据到前端, 这里要设置 null , 在成功处理器上处理返回 json
*/ - private String signUpUrl = "/signUp"; + private String signUpUrl; /** * 第三方登录回调的域名, 例如:https://localhost 默认为 "http://127.0.0.1", @@ -283,7 +284,7 @@ public class Auth2Properties { * @since 1.15.5 */ private HttpConfigProperties proxy = new HttpConfigProperties(); - + @Getter @Setter @@ -711,4 +712,4 @@ public class Auth2Properties { private String providerId = "aliyun"; } -} \ No newline at end of file +} -- Gitee