cdk8s / Tkey
以材料最全、示例最多为目标的单点登录系统(SSO)
Stars: ✭ 295
Programming Languages
java
68154 projects - #9 most used programming language
Projects that are alternatives of or similar to Tkey
Hydra
OpenID Certified™ OpenID Connect and OAuth Provider written in Go - cloud native, security-first, open source API security for your infrastructure. SDKs for any language. Compatible with MITREid.
Stars: ✭ 11,884 (+3928.47%)
Mutual labels: oauth2, sso, oauth2-server
authentik
The authentication glue you need.
Stars: ✭ 2,941 (+896.95%)
Mutual labels: sso, oauth2-server
Light Oauth2
A fast, light and cloud native OAuth 2.0 authorization microservices based on light-4j
Stars: ✭ 247 (-16.27%)
Mutual labels: oauth2, oauth2-server
Glewlwyd
Single Sign On server, OAuth2, Openid Connect, multiple factor authentication with, HOTP/TOTP, FIDO2, TLS Certificates, etc. extensible via plugins
Stars: ✭ 292 (-1.02%)
Mutual labels: oauth2, oauth2-server
Arkid
一账通是一款开源的统一身份认证授权管理解决方案,支持多种标准协议(LDAP, OAuth2, SAML, OpenID),细粒度权限控制,完整的WEB管理功能,钉钉、企业微信集成等
Stars: ✭ 217 (-26.44%)
Mutual labels: oauth2, sso
Loginpass
Login with Google, GitHub, Twitter, Facebook and many other networks.
Stars: ✭ 177 (-40%)
Mutual labels: oauth2, login
oauth2-server
A spec compliant, secure by default PHP OAuth 2.0 Server
Stars: ✭ 6,128 (+1977.29%)
Mutual labels: oauth2, oauth2-server
jeesuite-passport
Jeesuite-passport是面向企业级单点登录、统一认证的一站式解决方案。支持微信、企业微信、主流开放平台OAuth、Oauth2.0,JWT、SAML2.0多种认证集成模式。
Stars: ✭ 108 (-63.39%)
Mutual labels: oauth2, sso
Express Gateway
A microservices API Gateway built on top of Express.js
Stars: ✭ 2,583 (+775.59%)
Mutual labels: oauth2, oauth2-server
Authlib
The ultimate Python library in building OAuth, OpenID Connect clients and servers. JWS,JWE,JWK,JWA,JWT included.
Stars: ✭ 2,854 (+867.46%)
Mutual labels: oauth2, oauth2-server
Authing
🔥Authing - IDaaS/IAM solution that can Auth to web and mobile applications.
Stars: ✭ 247 (-16.27%)
Mutual labels: oauth2, login
Nginx Sso
SSO authentication provider for the auth_request nginx module
Stars: ✭ 195 (-33.9%)
Mutual labels: oauth2, sso
oauth2
A standalone OAuth2 & SSO server based on go-oauth2
Stars: ✭ 107 (-63.73%)
Mutual labels: sso, oauth2-server
OpenAM
OpenAM is an open access management solution that includes Authentication, SSO, Authorization, Federation, Entitlements and Web Services Security.
Stars: ✭ 476 (+61.36%)
Mutual labels: oauth2, sso
Egg Oauth2 Server
🌟 OAuth2 server plugin for egg.js based on node-oauth2-server
Stars: ✭ 174 (-41.02%)
Mutual labels: oauth2, oauth2-server
Supertokens Core
Open source alternative to Auth0 / Firebase Auth / AWS Cognito
Stars: ✭ 2,907 (+885.42%)
Mutual labels: oauth2, login
OAuthLogin.AspNetCore
第三方平台联合登陆(facebook、微信、微博、QQ、Kakao)
Stars: ✭ 43 (-85.42%)
Mutual labels: oauth2, login
重要通知
只有上云才能撑住规模化后的发展
- 初期技术选型上尽可能寻找云支持的
- 在公司规模小,自建服务基本都做不到 99.999% 高可用
- 在公司规模发展变迅速时,如果云技术和已有技术契合,迁移成本会低很多很多
- 目前暂定只选择:阿里云服务
- 这里罗列了阿里云常用的一些:产品
Introduction
- TKey = Token Key 以 OAuth 2.0 标准为接口设计原则的单点登录系统(SSO)
-
初衷:
- 做国内各种登录场景的配件,以完善的学习资料为主核心竞争力
- 希望让有 1 ~ 2 年工作经验的人都可以用 TKey 进行自定义扩展需求
- 纯粹的 HTTP,任意设备、任意场景
- 跨域无状态,随意横向扩展,服务高可用
- Spring Boot 2.1.x 技术栈,没有封装,有一点点基础即刻魔改(MIT License)
- 从开发、测试、部署、监控、前后端分离的材料都已具备
- 最后:没有哪个框架、系统可以套用在任意用户、任意场景、任意需求上,希望对你有思路帮助
Git
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
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 项目的所有文档,方便大家查看
- 认识阶段 (必读)
- 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 后自己尽情改造!
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].