diff --git a/pom.xml b/pom.xml index 4323a38e4..268af0a7b 100644 --- a/pom.xml +++ b/pom.xml @@ -567,31 +567,6 @@ - - - public - huawei nexus - https://mirrors.huaweicloud.com/repository/maven/ - - true - - - - - - - public - huawei nexus - https://mirrors.huaweicloud.com/repository/maven/ - - true - - - false - - - - diff --git a/ruoyi-admin/src/main/resources/application.yml b/ruoyi-admin/src/main/resources/application.yml index 1fecf82c0..453d732f1 100644 --- a/ruoyi-admin/src/main/resources/application.yml +++ b/ruoyi-admin/src/main/resources/application.yml @@ -18,7 +18,6 @@ spring: # dubbo dubbo: - config: protocol: name: tri port: 20881 diff --git a/ruoyi-api/ruoyi-api-system/pom.xml b/ruoyi-api/ruoyi-api-system/pom.xml index 0c2ca7258..86a219906 100644 --- a/ruoyi-api/ruoyi-api-system/pom.xml +++ b/ruoyi-api/ruoyi-api-system/pom.xml @@ -25,11 +25,6 @@ ruoyi-common-core - - org.dromara - ruoyi-common-excel - - diff --git a/ruoyi-modules/ruoyi-sso-server/pom.xml b/ruoyi-modules/ruoyi-sso-server/pom.xml index 47a36f2b4..ee81a2bf9 100644 --- a/ruoyi-modules/ruoyi-sso-server/pom.xml +++ b/ruoyi-modules/ruoyi-sso-server/pom.xml @@ -21,32 +21,12 @@ com.alibaba.cloud spring-cloud-starter-alibaba-nacos-discovery - - org.springframework.cloud - spring-cloud-starter-openfeign - - - - org.springframework.cloud - spring-cloud-starter-loadbalancer - - - - io.github.openfeign - feign-okhttp - org.springframework.boot spring-boot-starter-web - - - org.springframework.boot - spring-boot-starter-thymeleaf - - org.dromara diff --git a/ruoyi-modules/ruoyi-sso-server/src/main/java/org/ruoyi/sso/server/controller/SsoServerController.java b/ruoyi-modules/ruoyi-sso-server/src/main/java/org/ruoyi/sso/server/controller/SsoServerController.java index e30cf0a1c..a6d5a9ece 100644 --- a/ruoyi-modules/ruoyi-sso-server/src/main/java/org/ruoyi/sso/server/controller/SsoServerController.java +++ b/ruoyi-modules/ruoyi-sso-server/src/main/java/org/ruoyi/sso/server/controller/SsoServerController.java @@ -3,8 +3,13 @@ package org.ruoyi.sso.server.controller; import cn.dev33.satoken.context.SaHolder; import cn.dev33.satoken.context.model.SaRequest; import cn.dev33.satoken.sso.config.SaSsoServerConfig; +import cn.dev33.satoken.sso.processor.SaSsoClientProcessor; import cn.dev33.satoken.sso.processor.SaSsoServerProcessor; +import cn.dev33.satoken.sso.template.SaSsoUtil; +import cn.dev33.satoken.sso.util.SaSsoConsts; import cn.dev33.satoken.stp.StpUtil; +import cn.dev33.satoken.util.SaFoxUtil; +import cn.dev33.satoken.util.SaResult; import cn.hutool.core.util.ObjectUtil; import org.ruoyi.sso.server.domain.vo.LoginVo; import org.ruoyi.sso.server.service.IAuthStrategy; @@ -87,6 +92,41 @@ public class SsoServerController { return R.ok(loginVo); } + // 当前是否登录 + @RequestMapping("/sso/isLogin") + public Object isLogin() { + return SaResult.data(StpUtil.isLogin()); + } + + /** + * 获取 redirectUrl + */ + @RequestMapping("/sso/getRedirectUrl") + public SaResult getRedirectUrl(String redirect, String mode, String client) { + // 未登录情况下,返回 code=401 + if (!StpUtil.isLogin()) { + return SaResult.code(401); + } + // 已登录情况下,构建 redirectUrl + redirect = SaFoxUtil.decoderUrl(redirect); + if (SaSsoConsts.MODE_SIMPLE.equals(mode)) { + // 模式一 + SaSsoUtil.checkRedirectUrl(redirect); + return SaResult.data(redirect); + } else { + // 模式二或模式三 + String redirectUrl = SaSsoUtil.buildRedirectUrl(StpUtil.getLoginId(), client, redirect); + return SaResult.data(redirectUrl); + } + } + + // SSO-Server:单点注销 + @RequestMapping("/sso/logout") + public Object ssoSignout() { + return SaSsoClientProcessor.instance.ssoLogoutByMode2(); + } + + // 配置SSO相关参数 @Autowired private void configSso(SaSsoServerConfig ssoServer) { diff --git a/ruoyi-modules/ruoyi-sso-server/src/main/resources/application.yml b/ruoyi-modules/ruoyi-sso-server/src/main/resources/application.yml index 285cf54a9..762a2edd3 100644 --- a/ruoyi-modules/ruoyi-sso-server/src/main/resources/application.yml +++ b/ruoyi-modules/ruoyi-sso-server/src/main/resources/application.yml @@ -37,8 +37,8 @@ sa-token: # 读写同源,开启后每次访问都会自动续期 # token名称 (同时也是cookie名称) token-name: Authorization - # cookie写入 TODO 后续必须关掉,cookie 有安全隐患 - is-read-cookie: true + # cookie写入 必须关掉,cookie 有安全隐患 + is-read-cookie: false # 是否允许同一账号并发登录 (为true时允许一起登录, 为false时新登录挤掉旧登录) is-concurrent: true # 在多人登录同一账号时,是否共用一个token (为true(默认)时所有登录共用一个token, 为false时每次登录新建一个token),这个为false会导致登陆多次后redis内存的token不能很好释放 @@ -52,6 +52,8 @@ sa-token: ticket-timeout: 300 # 所有允许的授权回调地址 TODO 生产和测试一定要改 allow-url: "*" + + auth-url: http://localhost:5173/#/sso-login active-timeout: 30 # ruoyi-security配置