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)

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 Client

  • Java 前后端分离最佳实践

    • TKey SSO Client Management Backend:GithubGitee
    • TKey SSO Client Management Frontend:GithubGitee
    • Angular、Vue 的前后端分离版本会在稍后几周发出来
  • Java REST API 客户端:GithubGitee
  • Java Spring Security 客户端:GithubGitee
  • C#(暂缺)
  • GO(暂缺)
  • PHP(暂缺)
  • Python(暂缺)
  • Ruby(暂缺)
  • Node.js(暂缺)

Share

Roadmap

Changelog

Issues

  • 目前只开放了一个 issues 入口,集中问题,可以方便大家检索。
  • 去提问:GithubGitee

Contributors

  • 暂无
  • 欢迎 pull request

Adopters

Sponsors

  • 暂无

Backer

Join

(公众号)

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 单点登录系统介绍的更多相关文章

  1. 使用 JSONP 实现简单的 SSO 单点登录

    SSO 即 Single Sign On(单点登录).  一.二级域名之间的单点登录 不需要用到JSONP 或者 p3p 协议,直接使用 COOKIE 就行了,因为顶级域名相同就能实现 COOKIE ...

  2. CAS实现SSO单点登录原理

    1.      CAS 简介 1.1.  What is CAS ? CAS ( Central Authentication Service ) 是 Yale 大学发起的一个企业级的.开源的项目,旨 ...

  3. [sso] 单点登录认证流程

    一.流程说明 第一步:访问cas过滤链接ssoLogin,拼凑定向到 CAS_SERVER 获取ticket的URL 第二步:CAS_SERVER校验用户信息,生成Ticket 第三步:重新定向到访问 ...

  4. php sso单点登录原理阐述

    原理:就是用户登录了单点登录系统(sso)之后,就可以免登录形式进入相关系统: 实现: 点击登录跳转到SSO登录页面并带上当前应用的callback地址 登录成功后生成COOKIE并将COOKIE传给 ...

  5. SSO单点登录之跨域问题

    第一次写博客,与大家共勉. 这里用到的原理其实非常简单,将cookie存在一个公共的站点的页面上就可以了,这里我们管那个站点叫主站S. 先说说所谓的跨域 环境1:a.xxx.com需要跟b.xxx.c ...

  6. cas sso单点登录系列4_cas-server登录页面自定义修改过程(jsp页面修改)

    转:http://blog.csdn.net/ae6623/article/details/8861065 SSO单点登录系列4:cas-server登录页面自定义修改过程,全新DIY. 目标:    ...

  7. 学习CAS实现SSO单点登录

    学习CAS实现SSO单点登录 网上找了几篇比较详细的教程,在这记录一下: 原理: CAS实现SSO单点登录原理 教程: 1.CAS实现单点登录(SSO)经典完整教程 2.SSO之CAS单点登录实例演示 ...

  8. CAS实现SSO单点登录原理(转)

    1.      CAS 简介 1.1.  What is CAS ? CAS ( Central Authentication Service ) 是 Yale 大学发起的一个企业级的.开源的项目,旨 ...

  9. SSO(单点登录)与旅游年卡

    SSO(单点登录)与旅游年卡 SSO英文全称Single Sign On,单点登录.SSO是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统.它包括可以将这次主要的登录映射到其他应 ...

随机推荐

  1. Java 并发系列之九:java 原子操作类Atomic(13个)

    1. 原子更新基本类型类 2. 原子更新数组 3. 原子更新引用 4. 原子更新属性 5. txt java 原子操作类Atomic 概述 java.util.concurrent.atomic里的原 ...

  2. 解决github打不开

    今天重庆电信的“临时工”把github废了. 主要是github.githubassets.com和customer-stories-feed.github.com访问不到 通过修改host的方式上g ...

  3. 学习spring源码-可参考的资料

    剑指Spring源码(二) https://www.cnblogs.com/codebear/p/10374261.html 使用idea和gradle编译spring5源码https://blog. ...

  4. docker 学习操作记录 4

    记录3 [BEGIN] // :: Connecting to ... Connection established. To escape to local shell, press Ctrl+Alt ...

  5. Functional-Light-JS 摘录笔记(1)

    function foo(...args) { console.log( args[3] ); } var arr = [ 1, 2, 3, 4, 5 ]; foo( ...arr ); Think ...

  6. Win10开启上帝模式

    1.新建一个文件夹2.修改文件夹名字为 上帝模式.{ED7BA470-8E54-465E-825C-99712043E01C}

  7. 删除字符串中的字符(C语言)

    题目: 编程序将给定字符串中指定字符删除.要求删除指定字符后原字符串不能留下空位置,字符串和指定字符均由键盘输入 基本思路 将字符串与要删除的字符进行比较,若为相同字符,则将字符串中的该字符替换为原字 ...

  8. 啊哈!算法(第二章)C#实现

    第 1 节 解密 QQ 号——队列   新学期开始了,小哈是小哼的新同桌(小哈是个小美女哦~),小哼向小哈询问 QQ 号,小哈当然不会直接告诉小哼啦,原因嘛你懂的. 所以小哈给了小哼一串加密过的数字, ...

  9. Shell获取指定区间随机未占用的端口号

    说明 最近在写Jenkins自动运维的脚本,由于是用的docker,部署的时候启动容器端口号冲突会导致部署失败,用的微服务也不在乎端口什么的,只求部署成功,所以想了很久,参考了一些文章,还有运维大哥的 ...

  10. 【mybatis】mybatis查询 结果 用map接收,无实体接收 + 关联子表 一并返回主子表的结果

    如果后台程序没有实体对应mysql的数据表. 而mybatis想要查询mysql这个数据表的数据,返回给应用程序. 应用程序该如何接收? =============================== ...