diff --git a/continew-admin-common/pom.xml b/continew-admin-common/pom.xml index 0247aaa72..4a68559a6 100644 --- a/continew-admin-common/pom.xml +++ b/continew-admin-common/pom.xml @@ -17,6 +17,12 @@ 公共模块(存放公共工具类,公共配置等) + + + top.charles7c.continew + continew-starter-auth-justauth + + top.charles7c.continew @@ -84,16 +90,6 @@ sms4j-spring-boot-starter - - - com.xkcoding.justauth - justauth-spring-boot-starter - - - me.zhyd.oauth - JustAuth - - com.alibaba diff --git a/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/config/justauth/JustAuthRedisStateCache.java b/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/config/justauth/JustAuthRedisStateCache.java deleted file mode 100644 index aa261ca5b..000000000 --- a/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/config/justauth/JustAuthRedisStateCache.java +++ /dev/null @@ -1,88 +0,0 @@ -/* - * Copyright (c) 2022-present Charles7c Authors. All Rights Reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package top.charles7c.cnadmin.common.config.justauth; - -import java.time.Duration; - -import top.charles7c.cnadmin.common.constant.CacheConstants; -import top.charles7c.continew.starter.cache.redisson.util.RedisUtils; - -import me.zhyd.oauth.cache.AuthStateCache; - -/** - * Just Auth 自定义 State 缓存实现(Redis) - * - * @author Charles7c - * @since 2023/10/8 22:17 - */ -public class JustAuthRedisStateCache implements AuthStateCache { - - /** - * 存入缓存 - * - * @param key - * 缓存 key - * @param value - * 缓存内容 - */ - @Override - public void cache(String key, String value) { - // 参考:在 JustAuth 中,内置了一个基于 map 的 state 缓存器,默认缓存有效期为 3 分钟 - RedisUtils.set(RedisUtils.formatKey(CacheConstants.SOCIAL_AUTH_STATE_KEY_PREFIX, key), value, - Duration.ofMinutes(3)); - } - - /** - * 存入缓存 - * - * @param key - * 缓存 key - * @param value - * 缓存内容 - * @param timeout - * 指定缓存过期时间(毫秒) - */ - @Override - public void cache(String key, String value, long timeout) { - RedisUtils.set(RedisUtils.formatKey(CacheConstants.SOCIAL_AUTH_STATE_KEY_PREFIX, key), value, - Duration.ofMillis(timeout)); - } - - /** - * 获取缓存内容 - * - * @param key - * 缓存 key - * @return 缓存内容 - */ - @Override - public String get(String key) { - return RedisUtils.get(RedisUtils.formatKey(CacheConstants.SOCIAL_AUTH_STATE_KEY_PREFIX, key)); - } - - /** - * 是否存在 key,如果对应 key 的 value 值已过期,也返回 false - * - * @param key - * 缓存 key - * @return true:存在 key,并且 value 没过期;false:key 不存在或者已过期 - */ - @Override - public boolean containsKey(String key) { - return RedisUtils.hasKey(RedisUtils.formatKey(CacheConstants.SOCIAL_AUTH_STATE_KEY_PREFIX, key)); - } -} \ No newline at end of file diff --git a/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/config/justauth/JustAuthStateConfiguration.java b/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/config/justauth/JustAuthStateConfiguration.java deleted file mode 100644 index 7caea1af1..000000000 --- a/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/config/justauth/JustAuthStateConfiguration.java +++ /dev/null @@ -1,40 +0,0 @@ -/* - * Copyright (c) 2022-present Charles7c Authors. All Rights Reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package top.charles7c.cnadmin.common.config.justauth; - -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; - -import me.zhyd.oauth.cache.AuthStateCache; - -/** - * Just Auth State 缓存配置 - * - * @author Charles7c - * @since 2023/10/8 22:17 - */ -@Configuration -public class JustAuthStateConfiguration { - - /** - * Just Auth State 缓存 Redis 适配 - */ - @Bean - public AuthStateCache authStateCache() { - return new JustAuthRedisStateCache(); - } -} \ No newline at end of file diff --git a/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/constant/CacheConstants.java b/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/constant/CacheConstants.java index 911a112b3..03a79a963 100644 --- a/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/constant/CacheConstants.java +++ b/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/constant/CacheConstants.java @@ -67,9 +67,4 @@ public class CacheConstants { * 仪表盘缓存键前缀 */ public static final String DASHBOARD_KEY_PREFIX = "DASHBOARD"; - - /** - * 三方账号认证状态键前缀 - */ - public static final String SOCIAL_AUTH_STATE_KEY_PREFIX = "SOCIAL_AUTH_STATE"; } diff --git a/continew-admin-webapi/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/continew-admin-webapi/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports deleted file mode 100644 index 92f580aac..000000000 --- a/continew-admin-webapi/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports +++ /dev/null @@ -1 +0,0 @@ -com.xkcoding.justauth.autoconfigure.JustAuthAutoConfiguration \ No newline at end of file diff --git a/continew-admin-webapi/src/main/resources/config/application-dev.yml b/continew-admin-webapi/src/main/resources/config/application-dev.yml index ea67ce4c8..44c57c9fe 100644 --- a/continew-admin-webapi/src/main/resources/config/application-dev.yml +++ b/continew-admin-webapi/src/main/resources/config/application-dev.yml @@ -83,21 +83,6 @@ spring.cache: # 是否允许缓存空值(默认 true,表示允许,可以解决缓存穿透问题) cache-null-values: true ---- ### Just Auth 配置 -justauth: - enabled: true - type: - GITEE: - client-id: 5d271b7f638941812aaf8bfc2e2f08f06d6235ef934e0e39537e2364eb8452c4 - client-secret: 1f7d08**********5b7**********29e - redirect-uri: ${project.url}/social/callback?source=gitee - GITHUB: - client-id: 38080dad08cfbdfacca9 - client-secret: 1f7d08**********5b7**********29e - redirect-uri: ${project.url}/social/callback?source=github - cache: - type: custom - --- ### 短信配置 sms: # 从 YAML 读取配置 @@ -177,6 +162,21 @@ springdoc: swagger-ui: enabled: true +--- ### Just Auth 配置 +justauth: + enabled: true + type: + GITEE: + client-id: 5d271b7f638941812aaf8bfc2e2f08f06d6235ef934e0e39537e2364eb8452c4 + client-secret: 1f7d08**********5b7**********29e + redirect-uri: ${project.url}/social/callback?source=gitee + GITHUB: + client-id: 38080dad08cfbdfacca9 + client-secret: 1f7d08**********5b7**********29e + redirect-uri: ${project.url}/social/callback?source=github + cache: + type: custom + --- ### Sa-Token 扩展配置 sa-token.extension: # 安全配置:排除(放行)路径配置 diff --git a/continew-admin-webapi/src/main/resources/config/application-prod.yml b/continew-admin-webapi/src/main/resources/config/application-prod.yml index 9b90f60ea..2c6c39a70 100644 --- a/continew-admin-webapi/src/main/resources/config/application-prod.yml +++ b/continew-admin-webapi/src/main/resources/config/application-prod.yml @@ -85,21 +85,6 @@ spring.cache: # 是否允许缓存空值(默认 true,表示允许,可以解决缓存穿透问题) cache-null-values: true ---- ### Just Auth 配置 -justauth: - enabled: true - type: - GITEE: - client-id: 5d271b7f638941812aaf8bfc2e2f08f06d6235ef934e0e39537e2364eb8452c4 - client-secret: 1f7d08**********5b7**********29e - redirect-uri: ${project.url}/social/callback?source=gitee - GITHUB: - client-id: 38080dad08cfbdfacca9 - client-secret: 1f7d08**********5b7**********29e - redirect-uri: ${project.url}/social/callback?source=github - cache: - type: custom - --- ### 短信配置 sms: # 从 YAML 读取配置 @@ -183,6 +168,21 @@ knife4j: # 开启生产环境屏蔽 production: true +--- ### Just Auth 配置 +justauth: + enabled: true + type: + GITEE: + client-id: 5d271b7f638941812aaf8bfc2e2f08f06d6235ef934e0e39537e2364eb8452c4 + client-secret: 1f7d08**********5b7**********29e + redirect-uri: ${project.url}/social/callback?source=gitee + GITHUB: + client-id: 38080dad08cfbdfacca9 + client-secret: 1f7d08**********5b7**********29e + redirect-uri: ${project.url}/social/callback?source=github + cache: + type: custom + --- ### Sa-Token 扩展配置 sa-token.extension: # 安全配置:排除(放行)路径配置 diff --git a/pom.xml b/pom.xml index 5ea0438c6..47f6b8abc 100644 --- a/pom.xml +++ b/pom.xml @@ -37,7 +37,6 @@ 3.0.4 - 1.16.5 3.3.2 3.1.5.1 @@ -56,28 +55,6 @@ ${sms4j.version} - - - com.xkcoding.justauth - justauth-spring-boot-starter - 1.4.0 - - - cn.hutool - hutool-core - - - me.zhyd.oauth - JustAuth - - - - - me.zhyd.oauth - JustAuth - ${justauth.version} - - com.alibaba