sso
Some checks are pending
Gitea Actions Demo / Explore-Gitea-Actions (push) Waiting to run

This commit is contained in:
mocheng 2025-07-20 18:50:36 +08:00
parent f45442e954
commit 0e5e73be26
6 changed files with 38 additions and 5 deletions

View File

@ -91,8 +91,8 @@
<properties> <properties>
<!-- 环境标识,需要与配置文件的名称相对应 --> <!-- 环境标识,需要与配置文件的名称相对应 -->
<profiles.active>dev</profiles.active> <profiles.active>dev</profiles.active>
<nacos.server>192.168.24.101:8848</nacos.server> <nacos.server>by.missmoc.top:8848</nacos.server>
<logstash.address>192.168.24.101:4560</logstash.address> <logstash.address>by.missmoc.top:4560</logstash.address>
<nacos.discovery.group>DEFAULT_GROUP</nacos.discovery.group> <nacos.discovery.group>DEFAULT_GROUP</nacos.discovery.group>
<nacos.config.group>DEFAULT_GROUP</nacos.config.group> <nacos.config.group>DEFAULT_GROUP</nacos.config.group>
<nacos.username>nacos</nacos.username> <nacos.username>nacos</nacos.username>

View File

@ -1,10 +1,14 @@
package org.dromara.auth.controller; package org.dromara.auth.controller;
import cn.dev33.satoken.exception.NotLoginException; import cn.dev33.satoken.exception.NotLoginException;
import cn.dev33.satoken.stp.StpUtil;
import cn.hutool.core.codec.Base64; import cn.hutool.core.codec.Base64;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import org.springframework.beans.BeanUtils;
import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import jodd.bean.BeanUtil;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import me.zhyd.oauth.model.AuthResponse; import me.zhyd.oauth.model.AuthResponse;
@ -37,12 +41,14 @@ import org.dromara.system.api.RemoteSocialService;
import org.dromara.system.api.RemoteTenantService; import org.dromara.system.api.RemoteTenantService;
import org.dromara.system.api.domain.vo.RemoteClientVo; import org.dromara.system.api.domain.vo.RemoteClientVo;
import org.dromara.system.api.domain.vo.RemoteTenantVo; import org.dromara.system.api.domain.vo.RemoteTenantVo;
import org.dromara.system.api.model.LoginUser;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import java.net.URL; import java.net.URL;
import java.nio.charset.StandardCharsets; import java.nio.charset.StandardCharsets;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Locale;
import java.util.Map; import java.util.Map;
import java.util.concurrent.ScheduledExecutorService; import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
@ -104,9 +110,17 @@ public class TokenController {
scheduledExecutorService.schedule(() -> { scheduledExecutorService.schedule(() -> {
remoteMessageService.publishMessage(List.of(userId), "欢迎登录RuoYi-Cloud-Plus微服务管理系统"); remoteMessageService.publishMessage(List.of(userId), "欢迎登录RuoYi-Cloud-Plus微服务管理系统");
}, 3, TimeUnit.SECONDS); }, 3, TimeUnit.SECONDS);
if (loginBody.getRetUrl()!=null){
return R.f(loginBody.getRetUrl()+"?token="+loginVo.getAccessToken());
}
return R.ok(loginVo); return R.ok(loginVo);
} }
@RequestMapping("/token/check")
public R<LoginUser> checkToken(String token) {
return R.ok(LoginHelper.getLoginUser(token));
}
/** /**
* 第三方登录请求 * 第三方登录请求
* *

View File

@ -1,8 +1,14 @@
package org.dromara.auth.service; package org.dromara.auth.service;
import cn.dev33.satoken.stp.StpUtil;
import cn.dev33.satoken.stp.parameter.SaLoginParameter;
import org.dromara.auth.domain.vo.LoginVo; import org.dromara.auth.domain.vo.LoginVo;
import org.dromara.auth.form.PasswordLoginBody;
import org.dromara.common.core.exception.ServiceException; import org.dromara.common.core.exception.ServiceException;
import org.dromara.common.core.utils.SpringUtils; import org.dromara.common.core.utils.SpringUtils;
import org.dromara.common.core.utils.ValidatorUtils;
import org.dromara.common.json.utils.JsonUtils;
import org.dromara.common.satoken.utils.LoginHelper;
import org.dromara.system.api.domain.vo.RemoteClientVo; import org.dromara.system.api.domain.vo.RemoteClientVo;
/** /**

View File

@ -24,6 +24,11 @@ public class R<T> implements Serializable {
*/ */
public static final int SUCCESS = 200; public static final int SUCCESS = 200;
/**
* 跳转
*/
public static final int FORBIDDEN = 403;
/** /**
* 失败 * 失败
*/ */
@ -43,6 +48,9 @@ public class R<T> implements Serializable {
* 数据对象 * 数据对象
*/ */
private T data; private T data;
public static <T> R<T> f(String url) {
return restResult(null, FORBIDDEN, url);
}
public static <T> R<T> ok() { public static <T> R<T> ok() {
return restResult(null, SUCCESS, "操作成功"); return restResult(null, SUCCESS, "操作成功");

View File

@ -40,4 +40,9 @@ public class LoginBody {
*/ */
private String uuid; private String uuid;
/**
* 回调地址
*/
private String retUrl;
} }

View File

@ -40,9 +40,9 @@ spring.sql.init.platform=mysql
db.num=1 db.num=1
### Connect URL of DB: ### Connect URL of DB:
db.url.0=jdbc:mysql://47.109.37.87:3002/ry-config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC&allowPublicKeyRetrieval=true db.url.0=jdbc:mysql://127.0.0.1:3306/ry-config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC&allowPublicKeyRetrieval=true
db.user.0=by db.user.0=root
db.password.0=123456 db.password.0=root
### the maximum retry times for push ### the maximum retry times for push
nacos.config.push.maxRetryTime=50 nacos.config.push.maxRetryTime=50