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是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统.它包括可以将这次主要的登录映射到其他应 ...
随机推荐
- 团队作业第五次—项目冲刺-Day1
Day1 项目相关 作业相关 具体描述 所属班级 2019秋福大软件工程实践Z班 作业要求 团队作业第五次-项目冲刺 作业正文 hunter--冲刺集合 团队名称 hunter小组 作业目标 最终做出 ...
- of_property_read_string_index(转)
https://biscuitos.github.io/blog/DTS-of_property_read_string_index/ 源码分析 of_property_read_string_ind ...
- 福州大学软件工程1916|W班 第10、11次作业成绩排名
作业链接 项目Alpha冲刺(团队) 事后诸葛亮(团队) 评分细则 博客评分标准 本次作业包括现场Alpha答辩评分(映射总分为100分)+博客分(总分130分)+贡献度得分,其中博客分由以下部分组成 ...
- C#内存泄露与资源释放 经验总结
本文链接:http://blog.csdn.net/yokeqi/article/details/41083939 C#相比其他语言,拥有强大的垃圾回收机制,但并不是这样,你就可以对内存管理放任不管, ...
- json对象与string相互转换教程
一.说明 1.1 背景说明 json对象与string相互转换,这东西想写了很多次,但总觉得网上教程比较成熟,所以之前每次都放弃了.但今天又被string转json对象折腾了半天,实在受不了,所以还是 ...
- 026 Elastic----全文检索技术01---概述及windows安装
用户访问我们的首页,一般都会直接搜索来寻找自己想要购买的商品.而商品的数量非常多,而且分类繁杂.如何能正确的显示出用户想要的商品,并进行合理的过滤,尽快促成交易,是搜索系统要研究的核心.面对这样复杂的 ...
- sqlserver替换一个单引号为多个单引号
SqlServer Where语句中如果有单引号,需要替换为两个单引号,不然会语法错误,替换方法如下REPLACE(@UserName,'''','''''') REPLACE(@UserName,' ...
- Istio 1.4 更新了 | 感觉学不完
Istio 1.4 更新了 官网 https://istio.io/news/2019/announcing-1.4/ Istio 评选 为GitHub上增长最快的五个 开源项目之一 变更说明获取更改 ...
- python解决使用镜像源来安装包
一.问题在进行python包安装的时候出现一个问题就是无法进行安装,且出现了如下的错误 报错代码 Retrying (Retry(total=4, connect=None, read=None, r ...
- 【题解】Luogu P4284 [SHOI2014]概率充电器
原题传送门 我们知道,每个电器充电对充电电器数的贡献都是相等的1,所以若第\(i\)个电器有\(p_i\)的概率充电时 \[E=\sum_{i=1}^np_i\] 我们考虑如何求\(p_i\),根据树 ...