Home
Projects
Resources
Alternatives
Blog
Sign In
Tkey
Save
以材料最全、示例最多为目标的单点登录系统(SSO)
Overview
Reviews
Resources
Project README
重要通知
2019-12 基于 TKey 基础上的单体完整系统已经建立,需要继续扩展学习的可以查看:
Github
Gitee
只有上云才能撑住规模化后的发展
初期技术选型上尽可能寻找云支持的
在公司规模小,自建服务基本都做不到 99.999% 高可用
在公司规模发展变迅速时,如果云技术和已有技术契合,迁移成本会低很多很多
目前暂定只选择:
阿里云服务
这里罗列了阿里云常用的一些:
产品
Introduction
TKey = Token Key
以 OAuth 2.0 标准为接口设计原则的单点登录系统(SSO)
初衷:
做国内各种登录场景的配件,以完善的学习资料为主核心竞争力
希望让有 1 ~ 2 年工作经验的人都可以用 TKey 进行自定义扩展需求
纯粹的 HTTP,任意设备、任意场景
跨域无状态,随意横向扩展,服务高可用
Spring Boot 2.1.x 技术栈,没有封装,有一点点基础即刻魔改(MIT License)
从开发、测试、部署、监控、前后端分离的材料都已具备
最后:没有哪个框架、系统可以套用在任意用户、任意场景、任意需求上,希望对你有思路帮助
Git
Github:
https://github.com/cdk8s/tkey
Gitee:
https://gitee.com/cdk8s/tkey
Live Demo
注意:带宽只有 1M,访问会慢
一共3个完整系统:
第一个是后台管理系统,包含用户管理:
http://180.76.142.211/sculptor-boot-frontend/index
第二个是演示系统Client-1:
http://180.76.142.211/client-rest-1/user
第三个是演示系统Client-2:
http://180.76.142.211/client-rest-2/user
同一个浏览器同时访问三个站点会发现都需要跳去登录,表明三个系统链接都是需要登录才可以访问
先登录第一个系统
然后访问第二个系统、第三个系统会发现直接返回用户 JSON 信息
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 中央仓库已经申请下来,大家现在可以直接使用我们自己封装的 REST API 客户端了
Documentation
我们统一了 TKey 项目的所有文档,方便大家查看
Github:
https://github.com/cdk8s/tkey-docs
Gitee:
https://gitee.com/cdk8s/tkey-docs
Gitbook:
https://160668873.gitbook.io/tkey-docs/
认识阶段 (必读)
单点登录系统认知与基础介绍:
Github
、
Gitee
故意设计点(常见问题):
Github
、
Gitee
项目结构与端口占用:
Github
、
Gitee
OAuth2.0 四种模式:
Github
、
Gitee
JAR 方式部署:
Github
、
Gitee
Docker 方式部署:
Github
、
Gitee
Docker Compose 方式部署:
Github
、
Gitee
TKey Server 开发阶段
开发改造引导:
Github
、
Gitee
TKey Management 开发阶段(也是前后端分离的最佳实践示例)
后端开发改造引导:
Github
、
Gitee
前端开发改造引导:
Github
、
Gitee
TKey Client Java 开发阶段
自己封装的 REST Client:
Github
、
Gitee
Spring Security 支持:
Github
、
Gitee
测试阶段
单元测试:
Github
、
Gitee
压力测试:
Github
、
Gitee
部署阶段
生产注意事项:
Github
、
Gitee
部署环境搭建:
Github
、
Gitee
监控阶段
Spring Boot Micrometer:
Github
、
Gitee
其他工具全在
部署环境搭建
,请自行查看
线上问题诊断
Actuator 在线修改 log 输出级别(Gif 动图)
Arthas 诊断 Docker 应用
夜间开放端口,挑选流量远程 Debug:
Github
、
Gitee
TKey Client
Java 前后端分离最佳实践
TKey SSO Client Management Backend:
Github
、
Gitee
TKey SSO Client Management Frontend:
Github
、
Gitee
Angular、Vue 的前后端分离版本会在稍后几周发出来
Java REST API 客户端:
Github
、
Gitee
Java Spring Security 客户端:
Github
、
Gitee
C#(暂缺)
GO(暂缺)
PHP(暂缺)
Python(暂缺)
Ruby(暂缺)
Node.js(暂缺)
Share
Grafana Dashboard:
Github
、
Gitee
Postman API:
Github
、
Gitee
Run JAR Shell:
Github
、
Gitee
Roadmap
规划版本:
Github
、
Gitee
Changelog
版本更新:
Github
、
Gitee
Issues
目前只开放了一个 issues 入口,集中问题,可以方便大家检索。
去提问:
Github
、
Gitee
Contributors
暂无
欢迎 pull request
Adopters
去申请:
Github
、
Gitee
以企业角色联系我进行咨询有优先权,我们会花更多耐心进行讲解和帮助
所以,请在加好友之后先表明公司、立场
Sponsors
暂无
Backer
我要喝喜茶 Orz..
Join
邮箱:
cdk8s#qq.com
博客:
https://cdk8s.github.io/
Github:
https://github.com/cdk8s
Gitee:
https://gitee.com/cdk8s
公众号
Jobs
我们在广州
有广州或深圳的合作、Offer 欢迎联系我们
邮箱:
cdk8s#qq.com
公众号:
联系我们
Thanks
IntelliJ IDEA
CAS
Okta
Copyright And License
Copyright (c) CDK8S. All rights reserved.
Licensed under the
MIT
license.
再次强调: 因为是 MIT 协议,大家有不满意的,除了 PR 也可以 fork 后自己尽情改造!
Open Source Agenda is not affiliated with "Tkey" Project. README Source:
cdk8s/tkey
Stars
346
Open Issues
3
Last Commit
4 months ago
Repository
cdk8s/tkey
Tags
Login
Login Oauth
Login System
Oauth2
Oauth2 Authentication
Oauth2 Server
Sso
Sso Authentication
Sso Login
Open Source Agenda Badge
Submit Review
Review Your Favorite Project
Submit Resource
Articles, Courses, Videos
Submit Article
Submit a post to our blog
From the blog
Dec 11, 2022
How to Choose Which Programming Language to Learn First?
From the blog
Dec 11, 2022
How to Choose Which Programming Language to Learn First?
Home
Projects
Resources
Alternatives
Blog
Sign In
Sign In to OSA
I agree with
Terms of Service
and
Privacy Policy
Sign In with Github