Introduction

  • TKey = Token Key Single Sign-on system (SSO) based on OAuth 2.0 standard interface design principle
  • Purpose:
    • Do a variety of domestic login scene accessories, with perfect learning materials as the core competitiveness
    • It is expected that anyone with 1-2 years of experience can customize extension requirements using TKey
  • Pure HTTP, any device, any scenario
  • Stateless across domains, scalable horizontally at will, and highly available services
  • Spring Boot 2.1.x technology stack, no package, with a little basic Instant Magic (MIT License)
  • Materials from development, testing, deployment, monitoring, and front and back end separation are available
  • Finally: No framework, system can be applied to any user, any scene, any demand, I hope to help you with ideas

Git

  • Github:github.com/cdk8s/tkey
  • Gitee:gitee.com/cdk8s/tkey

Live Demo

  • Note: The bandwidth is only 1 MB, so the access is slow
  • Add the following hosts locally to access and redirect to the login page (mandatory)
182.61.44.40 sso.cdk8s.com
Copy the code
  • Access address: TKey SSO Client Management

Architecture

  • Above video explanation: B station, Tencent Video
  • OAuth2.0 authorization code mode details of the sequence diagram can be viewed: click me view

The Preview (Gif)

  • You need to right-click the main image to copy the address and paste it into the address bar to open Orz..
  • Login complete process: master image, backup image
  • Grafana monitor large screen: main view and backup view
  • GoAccess Monitor large screen: main view and backup view
  • Postman interface call: master graph, standby graph
  • Docker Container Management: Master diagram, backup diagram
  • Jenkins deployment pipeline: master diagram and backup diagram
  • JProfiler pressure changes: master diagram, backup diagram
  • VisualVM pressure measurement changes: main diagram, backup diagram

Quick Start

  • Unit tests: master diagram, backup diagram
  • TKey SSO Server JAR deployment in active and standby mode
  • TKey SSO Server Docker Compose: master graph, standby graph
  • TKey SSO Client Management Docker Compose: main figure, standby figure
  • The project relies entirely on Lombok (recommended), which you can refer to if you haven’t already
  • IntelliJ IDEA is the best match for the project. If you haven’t used it before, please refer to this series of articles (our works).
  • The Maven central repository has been requested and you can now use our own packaged REST API client

Documentation

  • We have unified all documents of the TKey project for your convenience
    • Github:github.com/cdk8s/tkey-…
    • Gitee:gitee.com/cdk8s/tkey-…
    • Gitbook: 160668873 Gitbook. IO/tkey – docs /
  • Awareness Stage (Required reading)
    • Single sign-on system awareness and basic introduction: Github, Gitee
    • Intentional design points (FAQ) : Github, Gitee
    • Project structure and port occupancy: Github and Gitee
    • OAuth2.0 has four modes: Github and Gitee
    • JAR deployment: Github and Gitee
    • Docker deployment mode: Github and Gitee
    • Docker Compose mode: Github and Gitee
  • TKey Server development phase
    • Development and transformation guidance: Github, Gitee
  • TKey Management development phase (also a best practice example of front and back end separation)
    • Back-end development and transformation guidance: Github, Gitee
    • Front-end development and transformation guidance: Github and Gitee
  • TKey Client Java development stage
    • Self-encapsulated REST clients include Github and Gitee
    • Spring Security support: Github, Gitee
  • Testing phase
    • Unit tests: Github, Gitee
    • Stress tests: Github, Gitee
  • Deployment phase
    • Production precautions: Github and Gitee
    • Deployment environment: Github and Gitee
  • Monitor phase
    • Spring Boot Micrometer: Github, Gitee
    • All the other tools are hereSetting up deployment Environment, please check for yourself
  • On-line problem diagnosis
    • – Modifying log Output levels online (Gif)
    • Arthas diagnostic Docker application
    • Open the port at night. Select remote Debug traffic: Github and Gitee

TKey Client

  • Java front-and-back separation best practices
    • TKey SSO Client Management Backend: Github and Gitee
    • TKey SSO Client Management Frontend: Github and Gitee
    • The Angular, Vue, backend split will be released in the coming weeks
  • Java REST API clients: Github and Gitee
  • Java Spring Security clients: Github and Gitee
  • C# (unavailable)
  • GO (Temporary)
  • PHP (temporarily unavailable)
  • Python (temporary)
  • Ruby (Unavailable)
  • Node.js (temporarily unavailable)

Share

  • Grafana Dashboard: Github, Gitee
  • Postman API: Github, Gitee
  • Run JAR Shell: Github, Gitee

Roadmap

  • Planned versions: Github and Gitee

Changelog

  • Version Updated: Github, Gitee

Issues

  • At present, only one entry of issues is opened to focus on issues, which can be convenient for everyone to search.
  • Ask questions: Github, Gitee

Contributors

  • no
  • Welcome to the pull request

Adopters

  • Go to: Github, Gitee

Sponsors

  • no

Backer

  • I want to drink tea Orz..

Join

  • Email address:cdk8s#qq.com
  • Blog: cdk8s. Making. IO /
  • Github:github.com/cdk8s
  • Gitee:gitee.com/cdk8s
  • The public,

Jobs

  • We are in Guangzhou
  • Welcome to contact us for cooperation and Offer in Guangzhou or Shenzhen
  • Email address:cdk8s#qq.com
  • The public no. :Contact us

Thanks

  • IntelliJ IDEA
  • CAS
  • Okta

Copyright And License

  • Copyright (c) CDK8S. All rights reserved.
  • Licensed under the MIT license.
  • Again: because it is MIT protocol, everyone is not satisfied with anything, except PR, you can also fork and modify it yourself!