kisso

基于 Cookie 的 SSO 中间件
授权协议 Apache
开发语言 Java
所属分类 Web应用开发、 单点登录框架
软件类型 开源软件
地区 国产
投 递 者 贺正祥
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

kisso  =  cookie sso

基于 Cookie 的 SSO 中间件,它是一把快速开发 java Web 登录系统(SSO)的瑞士军刀。欢迎大家使用 kisso !! 

  • 前后分离可选:请求 Header 票据模式, 请求 Cookie 模式

使用文档

// 生成 jwt 票据,访问请求头设置‘ accessToken=票据内容 ’
String jwtToken = SSOToken.create().setId(1).setIssuer("admin").getToken();

// 解析票据
SSOToken ssoToken = SSOToken.parser(jwtToken);

// Cookie 模式设置
SSOHelper.setCookie(request, response,  new SSOToken().setId(String.valueOf(1)).setIssuer("admin"));

// 权限拦截器类 SSOSpringInterceptor
// 注解不拦截 @Login(action = Action.Skip)
// yml 配置 kisso.config....

默认 HS512 算法

// HS512 密钥,配置参数 kisso.config.sign-key
SSOHelper.getHS512SecretKey()

切换 RS512 算法

  • 1,配置算法 kisso.config.sign-algorithm = RS512
  • 2,配置私钥公钥证书,默认放置 resources 目录即可
// RSA 密钥,配置参数 kisso.config.rsa-jks-store
// 其它参数 CN=Server,OU=Unit,O=Organization,L=City,S=State,C=US
// RSA 生成 jks 密钥
$ keytool -genkeypair -alias jwtkey -keyalg RSA -dname "CN=llt" -keypass keypassword -keystore key.jks -storepass jkspassword

// RSA 生成证书
// RSA 公钥,配置参数 kisso.config.rsa-cert-store
$ keytool -export -alias jwtkey -file public.cert -keystore key.jks -storepass jkspassword

其他开源项目 | Other Project

Maven 坐标

<dependency>
  <groupId>com.baomidou</groupId>
  <artifactId>kisso</artifactId>
  <version>最新版本 maven 为准</version>
</dependency>

捐赠 kisso

捐赠 kisso

  • 欢迎提出更好的意见,帮助完善 KISSO

copyright

Apache License, Version 2.0

  • JEECG配置Kisso单点登录 软件版本 JEECG版本:3.8 1.验证系统表示:kisso服务端 2.业务系统表示:kisso客户端 1.配置服务端和客户端 根据官方文档进行配置(http://www.jeecg.org/forum.php?mod=viewthread&tid=7628&highlight=sso) 特别注意,客户端的配置 #服务端登录地址 sso.login.url=ht

  • 一、简介 kisso = cookie sso 基于 Cookie 的 SSO 中间件,它是一把快速开发 java Web 登录系统(SSO)的瑞 士军刀。 应用场景如下: 1.支持单点登录 2、支持登录Cookie缓存 3、支持防止 xss攻击, SQL注入,脚本注入 4、支持 Base64 / MD5 / AES / PBE / RSA 算法 5、支持浏览器客户端校验 6、支持Cookie参数

  • https://www.jianshu.com/p/4026edd340bb Maven依赖项 /pom.xml <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus</artifactId> <version>1.2.12</version> </dependency> <

  • kisso 使用说明文档: ----------------------------------------------------------------- kisso 启动  web.xml 配置 、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、 kissoConfigLocation classpath:properties/sso.prop

  • kisso OA所有请求都跳转到这个接口,登录只有这一个入口 http://my.web.com:8090/oa/login.ht @RequestMapping("/login.ht") public String login(HttpServletRequest request,HttpServletResponse response) { SSO

  • 关于kisso介绍,大家可以参考官方文档或者是我的博客:https://www.cnblogs.com/youcong/p/9794735.html 一、导入maven依赖 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVe

  • 源码地址 主要技术栈 Spring Boot Kisso vue.js 实践目标 前端分离后,实现单点登录 前端(postman测试) A前端:系统节点 B前端:模块1节点 C前端:模块2节点(略) 后端 A后端:认证、系统、登录节点,颁发kisso认证的cookie B后端:模块1的后端服务,添加了拦截器判断。 测试(预期目标) POSTMAN1(主节点、登录) POST http://loca

  • kisso 默认的加密算法是 HS512,为了增加加密强度,建议使用 RSA 加密。 生成密钥对 首先按照文档中给出的方式生成私钥和证书,方法如下: 生成私钥 $ keytool -genkeypair -alias jwtkey -keyalg RSA -dname "CN=llt" -keypass llTs1p68K -keystore key. jks -storepass lLt66Y8

  • 源码:https://gitee.com/baomidou/kisso 示例说明:https://blog.csdn.net/q826qq1878/article/details/76179591

 相关资料
  • 我们的项目由几个子应用程序组成,我们正在寻找实现SSO的解决方案,以避免每个子应用程序的身份验证。 假设这是我们项目的结构: 我们发现有很多关于“基于OAuth2实现SSO”的文章都是这样的。 在那篇文章中,我们更喜欢策略,因为它简单明了,但是本机应用程序有一些限制,然后我们专注于OAuth2。 这是工作流程: 1 OAuth2中的规则 资源服务器(SP)-这是您尝试访问信息的Web服务器。 客户

  • 本文向大家介绍基于java中cookie和session的比较,包括了基于java中cookie和session的比较的使用技巧和注意事项,需要的朋友参考一下 cookie和session的比较 一、对于cookie: ①cookie是创建于服务器端 ②cookie保存在浏览器端 ③cookie的生命周期可以通过cookie.setMaxAge(2000);来设置,如果没有设置setMaxAge,

  • 我在我的phorum服务器中遇到了一个奇怪的错误--似乎是随机的,一些用户将相互交换,并发现他们作为另一个人完全登录,可以完全访问另一个人的帐户。我自己也经历过一次这个bug,但不能重新创建它。 Phorum被配置为通过cookie跟踪会话,会话散列也存储在用户数据库中。我已经确认数据库完好无损,没有会话ID冲突发生。 您可以在这里看到Phorum的身份验证和会话管理的源代码,它相当简单。会话只能

  • 无法使用WSO2身份服务器获得基于OpenID的SSO。我关注了Suresh Athtanayaka给出的博客帖子,但在输入作为您的OpenID标识符后。它不会重定向到身份服务器页面。它显示一个空白页面。请帮帮我。

  • 我的情况是,我们目前正在编写一个使用Node的在线应用程序。服务器端的js和WebSocket侦听器。我们有两个不同的部分:一个是服务页面,另一个是使用节点。js和express ejs,另一个是完全不同的应用程序,只包含套接字。用于WebSocket的io库。现在我们来讨论WebSocket部分的可伸缩性问题。 我们发现的一个解决方案是使用redis并在服务器之间共享套接字信息,但由于体系结构的

  • 例如,对于hbase表“test_table”,插入的值为: 在扫描“test_table”时,其中version=t+4应返回 如何在HBase中实现基于时间戳的扫描(基于小于或等于时间戳的最新可用值)?