TKey SSO 单点登录系统介绍
Introduction
- TKey = Token Key 以 OAuth 2.0 标准为接口设计原则的单点登录系统(SSO)
- 初衷: 做国内各种登录场景的配件,以完善的学习资料为主核心竞争力
- 纯粹的 HTTP,任意设备、任意场景
- 跨域无状态,随意横向扩展,服务高可用
- Spring Boot 2.1.x 技术栈,没有封装,有一点点基础即刻魔改(MIT License)
- 从开发、测试、部署、监控、前后端分离的材料都已具备
- 最后:没有哪个框架、系统可以套用在任意用户、任意场景、任意需求上,希望对你有思路帮助
Git
Live Demo
(登陆完整过程)
- 注意:带宽只有 1M,访问会慢
- 本地添加下面 hosts 才能正常访问
182.61.44.40 sso.cdk8s.com
Architecture
(架构图)
- 上图的视频讲解稍后会上传到 B 站
- OAuth2.0 授权码模式细节时序图可以查看:点击我查看
Preview(Gif)
- 主图需要右键复制地址,然后粘贴到地址栏才能打开 Orz..
- 登录完整过程: 主图、备图
- Grafana 监控大屏: 主图、备图
- GoAccess 监控大屏: 主图、备图
- Postman 接口调用: 主图、备图
- Docker 容器管理: 主图、备图
- Jenkins 部署流水线: 主图、备图
- JProfiler 压测变化: 主图、备图
- VisualVM 压测变化: 主图、备图
Quick Start
- 单元测试:主图、备图
- TKey SSO Server JAR 方式部署过程:主图、备图
- TKey SSO Server Docker Compose:主图、备图
- TKey SSO Client Management Docker Compose:主图、备图
- 项目完全依赖 Lombok(推荐),如果没有用过可以参考 该篇文章
- 项目最优搭配 IntelliJ IDEA,如果还没用过可以参考 该系列文章(我们的作品)
- 由于项目刚开源出来,Maven 官方库还在申请,自己封装的 TKey SSO Client Java 还在审核,目前大家先本地 package install
Documentation
- 我们统一了 TKey 项目的所有文档,方便大家查看
- 认识阶段 (必读)
- TKey Server 开发阶段
- TKey Management 开发阶段(也是前后端分离的最佳实践示例)
- TKey Client Java 开发阶段
- 测试阶段
- 部署阶段
- 监控阶段
- 线上问题诊断
- Actuator 在线修改 log 输出级别(Gif 动图)
- Arthas 诊断 Docker 应用
- 夜间开放端口,挑选流量远程 Debug:Github、Gitee
TKey Client
- Java 前后端分离最佳实践
- Java REST API 客户端:Github、Gitee
- Java Spring Security 客户端:Github、Gitee
- C#(暂缺)
- GO(暂缺)
- PHP(暂缺)
- Python(暂缺)
- Ruby(暂缺)
- Node.js(暂缺)
Share
Roadmap
Changelog
Issues
Contributors
- 暂无
- 欢迎 pull request
Adopters
Sponsors
- 暂无
Backer
Join
- 邮箱:
cdk8s#qq.com - 博客:https://cdk8s.github.io/
- Github:https://github.com/cdk8s
- Gitee:https://gitee.com/cdk8s
- 公众号
(公众号)
Jobs
- 我们在广州
- 有广州或深圳的合作、Offer 欢迎联系我们
- 邮箱:
cdk8s#qq.com - 公众号:
联系我们
Thanks
Copyright And License
- Copyright (c) CDK8S. All rights reserved.
- Licensed under the MIT license.
- 再次强调: 因为是 MIT 协议,大家有不满意的,除了 PR 也可以 fork 后自己尽情改造!
TKey SSO 单点登录系统介绍的更多相关文章
- 使用 JSONP 实现简单的 SSO 单点登录
SSO 即 Single Sign On(单点登录). 一.二级域名之间的单点登录 不需要用到JSONP 或者 p3p 协议,直接使用 COOKIE 就行了,因为顶级域名相同就能实现 COOKIE ...
- CAS实现SSO单点登录原理
1. CAS 简介 1.1. What is CAS ? CAS ( Central Authentication Service ) 是 Yale 大学发起的一个企业级的.开源的项目,旨 ...
- [sso] 单点登录认证流程
一.流程说明 第一步:访问cas过滤链接ssoLogin,拼凑定向到 CAS_SERVER 获取ticket的URL 第二步:CAS_SERVER校验用户信息,生成Ticket 第三步:重新定向到访问 ...
- php sso单点登录原理阐述
原理:就是用户登录了单点登录系统(sso)之后,就可以免登录形式进入相关系统: 实现: 点击登录跳转到SSO登录页面并带上当前应用的callback地址 登录成功后生成COOKIE并将COOKIE传给 ...
- SSO单点登录之跨域问题
第一次写博客,与大家共勉. 这里用到的原理其实非常简单,将cookie存在一个公共的站点的页面上就可以了,这里我们管那个站点叫主站S. 先说说所谓的跨域 环境1:a.xxx.com需要跟b.xxx.c ...
- cas sso单点登录系列4_cas-server登录页面自定义修改过程(jsp页面修改)
转:http://blog.csdn.net/ae6623/article/details/8861065 SSO单点登录系列4:cas-server登录页面自定义修改过程,全新DIY. 目标: ...
- 学习CAS实现SSO单点登录
学习CAS实现SSO单点登录 网上找了几篇比较详细的教程,在这记录一下: 原理: CAS实现SSO单点登录原理 教程: 1.CAS实现单点登录(SSO)经典完整教程 2.SSO之CAS单点登录实例演示 ...
- CAS实现SSO单点登录原理(转)
1. CAS 简介 1.1. What is CAS ? CAS ( Central Authentication Service ) 是 Yale 大学发起的一个企业级的.开源的项目,旨 ...
- SSO(单点登录)与旅游年卡
SSO(单点登录)与旅游年卡 SSO英文全称Single Sign On,单点登录.SSO是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统.它包括可以将这次主要的登录映射到其他应 ...
随机推荐
- [Gamma]Scrum Meeting#8
github 本次会议项目由PM召开,时间为6月3日晚上10点30分 时长15分钟 任务表格 人员 昨日工作 下一步工作 木鬼 撰写博客,组织例会 撰写博客,组织例会 swoip 前端显示屏幕,翻译坐 ...
- c语言之连接符
c语言之连接符 1.连接符 连接符的概念是结合define预编译指令的使用技巧,用户可以向define中传入字符串来调用不同功能的函数. 2.代码例子 #include <stdio.h> ...
- Python【每日一问】32
问: [基础题]:手机品牌存放在一个列表中 brandlist = ['华为','苹果','一加','OPPO','小米'],请实现以下功能:随机选择一个手机品牌屏幕输出 [提高题]:编写一个函数,输 ...
- SQLServer ---------- 安装SQLserver数据库
1.安装SQLserver 数据2008 的地址 https://jingyan.baidu.com/article/948f592434b407d80ef5f97d.html?qq-pf-to=pc ...
- Springboot Actuator之十二:actuator aop
前言spring 中aop是一个核心概念,spring boot 是如何实现自动化配置的?现在我们就来分析一下 解析spring boot 中自动化配置是读取/META-INF/spring.fact ...
- SpringBoot扩展点之二:ApplicationRunner和CommandLineRunner的扩展
CommandLineRunner并不是Spring框架原有的概念,它属于SpringBoot应用特定的回调扩展接口: public interface CommandLineRunner { /** ...
- 乘法器——Wallace树型乘法器
博主最近在看乘法器相关的知识,发现现在用的比较多的是booth编码的乘法器和Wallace树型乘法器,当然两者并不是互斥的关系,他们也可以结合使用.在这里给大家介绍一下Wallace树型乘法器,希望能 ...
- java学习:循环结构的使用规则和注意事项
循环结构的基本组成部分,一般可分为四部分: 初始化语句:在循环开始最初执行,而且只做唯一一次 条件判断:如果成立,则循环继续:如果不成立,则循环退出. 循环体:重复要做的事情内容,若干行语句. 进步语 ...
- 基于Mybatis-Plus实现自动化操作创建时间和修改时间
引入 在实际开发中,总会避免不了操作数据库,而在数据库中每个表都会有create_time和update_time字段记录操作时间,我们在操作这两个时间的时候也可能会出现不一致的情况,或者说这两个字段 ...
- 安装和启动docker
1.安装和启动docker yum update -y yum install -y yum-utils yum-config-manager --add-repo https://download. ...