diff --git a/sa-token-demo/sa-token-demo-sso3-client-solon/pom.xml b/sa-token-demo/sa-token-demo-sso3-client-solon/pom.xml
new file mode 100644
index 00000000..3484cb10
--- /dev/null
+++ b/sa-token-demo/sa-token-demo-sso3-client-solon/pom.xml
@@ -0,0 +1,55 @@
+
当前会话是否登录:" + StpUtil.isLogin() + "
" + + ""; + return str; + } + + /* + * SSO-Client端:处理所有SSO相关请求 + * http://{host}:{port}/sso/login -- Client端登录地址,接受参数:back=登录后的跳转地址 + * http://{host}:{port}/sso/logout -- Client端单点注销地址(isSlo=true时打开),接受参数:back=注销后的跳转地址 + * http://{host}:{port}/sso/logoutCall -- Client端单点注销回调地址(isSlo=true时打开),此接口为框架回调,开发者无需关心 + */ + @Mapping("/sso/*") + public Object ssoRequest() { + return SaSsoProcessor.instance.clientDister(); + } + + // 查询我的账号信息 + @Mapping("/sso/myinfo") + public Object myinfo() { + Object userinfo = SaSsoUtil.getUserinfo(StpUtil.getLoginId()); + System.out.println("--------info:" + userinfo); + return userinfo; + } + + // 全局异常拦截并转换 + @Override + public void render(Object data, Context ctx) throws Throwable { + if(data instanceof Exception){ + data = SaResult.error(((Exception)data).getMessage()); + } + + ctx.render(data); + } +} diff --git a/sa-token-demo/sa-token-demo-sso3-client-solon/src/main/java/com/pj/sso/SsoConfig.java b/sa-token-demo/sa-token-demo-sso3-client-solon/src/main/java/com/pj/sso/SsoConfig.java new file mode 100644 index 00000000..d4a33b03 --- /dev/null +++ b/sa-token-demo/sa-token-demo-sso3-client-solon/src/main/java/com/pj/sso/SsoConfig.java @@ -0,0 +1,22 @@ +package com.pj.sso; + +import cn.dev33.satoken.config.SaSsoConfig; +import com.dtflys.forest.Forest; +import org.noear.solon.annotation.Bean; +import org.noear.solon.annotation.Configuration; + +/** + * @author noear 2023/3/13 created + */ +@Configuration +public class SsoConfig { + // 配置SSO相关参数 + @Bean + private void configSso(SaSsoConfig sso) { + // 配置Http请求处理器 + sso.setSendHttp(url -> { + System.out.println("------ 发起请求:" + url); + return Forest.get(url).executeAsString(); + }); + } +} diff --git a/sa-token-demo/sa-token-demo-sso3-client-solon/src/main/resources/app.yml b/sa-token-demo/sa-token-demo-sso3-client-solon/src/main/resources/app.yml new file mode 100644 index 00000000..b1e0ff8c --- /dev/null +++ b/sa-token-demo/sa-token-demo-sso3-client-solon/src/main/resources/app.yml @@ -0,0 +1,38 @@ +# 端口 +server: + port: 9001 + +# sa-token配置 +sa-token: + # SSO-相关配置 + sso: + # SSO-Server端 统一认证地址 + auth-url: http://sa-sso-server.com:9000/sso/auth + # 使用Http请求校验ticket + is-http: true + # SSO-Server端 ticket校验地址 + check-ticket-url: http://sa-sso-server.com:9000/sso/checkTicket + # 打开单点注销功能 + is-slo: true + # 单点注销地址 + slo-url: http://sa-sso-server.com:9000/sso/signout + # 接口调用秘钥 + secretkey: kQwIOrYvnXmSDkwEiFngrKidMcdrgKor + # SSO-Server端 查询userinfo地址 + userinfo-url: http://sa-sso-server.com:9000/sso/userinfo + + +# 配置 Sa-Token Dao(此处与SSO-Server端连接不同的Redis) +sa-token-dao: #名字可以随意取 + redis: + server: "localhost:6379" + password: 123456 + db: 2 + maxTotal: 200 + +forest: + # 关闭 forest 请求日志打印 + log-enabled: false + + + \ No newline at end of file