TKey Docs
  • Introduction
  • 认识阶段 (必读)
    • 单点登录系统认知与基础介绍
    • 故意设计点(常见问题)
    • 项目结构与端口占用
    • OAuth2.0 四种模式
    • JAR 方式部署
    • Docker 方式部署
    • Docker Compose 方式部署
  • TKey Server 开发阶段
    • 开发改造引导
  • TKey Management 开发阶段(也是前后端分离的最佳实践示例)
    • 后端开发改造引导
    • 前端开发改造引导
  • TKey Client Java 开发阶段
    • 自己封装的 REST Client
    • Spring Security 支持
  • 测试阶段
    • 单元测试
    • 压力测试
  • 部署阶段
    • 生产注意事项
    • 部署环境搭建
  • 监控阶段
    • Spring Boot Micrometer
    • 其他工具全在 部署环境搭建,请自行查看
  • 线上问题诊断
    • Actuator 在线修改 log 输出级别(Gif 动图)
    • Arthas 诊断 Docker 应用
    • 夜间开放端口,挑选流量远程 Debug
Powered by GitBook
On this page
  • TKey 开发环境
  • TKey 项目核心组件版本(版本号 pom.xml 为准)
  • 推荐使用 Postman 进行尝试性的接口测试
  • Docker 环境
  • 核心的用户校验逻辑
  • 登录页面改造

Was this helpful?

  1. TKey Server 开发阶段

开发改造引导

TKey 开发环境

  • 系统环境

    • macOS High Sierra 10.13.6

  • 后端

    • IntelliJ IDEA 2019.2

    • Oracle JDK 1.8.0_191

    • Maven 3.6.1

    • Redis 4(Docker Image)

    • Prometheus 2.11(Docker Image)

    • Grafana 6.2.5(Docker Image)

    • MySQL 5.7(Docker Image)

    • Postman 7.5.0

    • JMeter 5.1.1

    • Jenkins 2.176.2

    • JProfiler 11.0.1

    • Docker version 18.09.2

      • Docker Desktop 2.0.0.3

  • 前端

    • WebStorm 2019.2

    • Node 10.14.2

    • npm 6.4.1

    • Yarn 1.12.3

TKey 项目核心组件版本(版本号 pom.xml 为准)

  • 核心:Spring Boot 2.1.7.RELEASE

  • 其他(后续以 pom.xml 文件为主):

<commons-lang3.version>3.8.1</commons-lang3.version>
<commons-text.version>1.5</commons-text.version>
<commons-collections4.version>4.2</commons-collections4.version>
<commons-io.version>2.6</commons-io.version>
<commons-codec.version>1.11</commons-codec.version>

<guava.version>27.0.1-jre</guava.version>
<okhttp.version>3.12.1</okhttp.version>
<hutool-all.version>4.5.13</hutool-all.version>

推荐使用 Postman 进行尝试性的接口测试

  • Postman 的设置 302 重定向:Settings > General > Automatically follow redirects

默认是:ON,如果需要查看 302 的跳转中间状态,需要关闭为 OFF,不然在调试的时候如果客户端服务已经关闭,则只会看到报错信息,但是不知道是具体什么报错。

  • Postman 导入我们已经准备好的请求参数,避免你直接摸索

Docker 环境

  • TKey SSO Server 需要 Redis,Redis 信息可以在该文件进行修改:application-dev.yml

核心的用户校验逻辑

  • 在 OauthController.java 类中

  • 这里采用的是 REST API 校验,如果你们要直连数据库,可以在改写该逻辑

  • 至于为什么要这么设计,已经在下面文章进行了说明

OauthUserAttribute oauthUserAttribute = requestLoginApi(oauthFormLoginParam);

登录页面改造

  • TKey SSO Server 没有采用前后端分离,目前考虑是没有必要,就一个登录页面

  • 使用的是 Thymeleaf 模板引擎

  • 登录页面路径:/resources/templates/login.html

PreviousTKey Server 开发阶段NextTKey Management 开发阶段(也是前后端分离的最佳实践示例)

Last updated 5 years ago

Was this helpful?

依赖包完整列表

链接地址:

如果你还没有 Docker 环境,建议查看我们此系列教程:

故意设计点(常见问题):、

pom.xml
https://www.getpostman.com/collections/a77c9b729b1d8d60de09
Postman 导入 TKey 接口集方法(Gif 动图)
Postman 接口转 cURL 方法(Gif 动图)
CentOS 操作系统
Github
Gitee