wxvirus wxvirus
首页
  • Go文章

    • Go语言学习
  • Rust

    • Rust学习
  • Java

    • 《Java》
  • Python文章

    • Python
  • PHP文章

    • PHP设计模式
  • 学习笔记

    • 《Git》
  • HTML
  • CSS
  • JS
  • 技术文档
  • GitHub技巧
  • 刷题
  • 博客搭建
  • 算法学习
  • 架构设计
  • 设计模式
  • 学习
  • 面试
  • 实用技巧
  • 友情链接
关于
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

无解的lifecycle

let today = new Beginning()
首页
  • Go文章

    • Go语言学习
  • Rust

    • Rust学习
  • Java

    • 《Java》
  • Python文章

    • Python
  • PHP文章

    • PHP设计模式
  • 学习笔记

    • 《Git》
  • HTML
  • CSS
  • JS
  • 技术文档
  • GitHub技巧
  • 刷题
  • 博客搭建
  • 算法学习
  • 架构设计
  • 设计模式
  • 学习
  • 面试
  • 实用技巧
  • 友情链接
关于
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • C&C++

  • PHP

  • Python

  • Go

  • microservice

  • rust

  • Java

  • 学习笔记

    • 《Git》学习笔记
    • MySQL基础学习
    • redis基础
    • redis了解
    • MySQL事务并发问题
    • MySQL事务隔离级别
    • 单点登录token与JWT介绍
      • 登录
      • 单点登录系统
      • token 与 JWT
    • MySQL约束条件
    • redis持久化机制以及缓存过期和淘汰策略
    • redis数据类型
    • consul的raft算法
  • 后端
  • 学习笔记
wxvirus
2021-12-26

单点登录token与JWT介绍

# 登录

登录:

  1. 前端输入用户名密码
  2. 校验用户名密码
  3. 生成登录标识(token)
  4. 后端保存token
  5. 前端保存token

校验:

  1. 前端请求时,带上token,并不是所有的接口都需要带上token一般是放在header里
  2. 登录拦截器,校验token(到redis获取token)
  3. 校验成功则继续后面的业务
  4. 校验失败则回到登录页面

登录标识:就是令牌,就是token,就是一串唯一的字符串

# 单点登录系统

如果你的公司有很多系统,每个系统都单独做一个登录,就会很费事费力,还不能达到统一。一般会再做一个另外的单点登录系统。

比如:现在有A B C三个系统,另外一个单点登录系统为:SSO

第一种方式:

A网站要登录的时候,去访问一下SSO,它提供登录界面和功能,登录直接跳到SSO登录完成后,再回到A

第二种方式:

登录界面,A B C各自都有,但是登录接口是由SSO来提供的,它不提供页面,只提供接口。

注意

单点 != 单个节点

为了支持全部系统的登录功能,所以这个SSO还是要很高效稳定的,所以有可能会布个 10 个节点或 100 个节点


SSO主要功能点:

  • 用户管理
  • 登录
  • 登录校验
  • 退出登录
  • 或是注册,有可能只提供接口,也可能包含页面

# token 与 JWT

token + redis组合:token是无意义的,我们可以用 MD5 字符串,可以用时间戳等等。

JWT:token是有意义的,是加密的,是包含业务信息的,就是把业务信息加密起来,业务信息基本也就是用户信息,可以被解密出来。它不需要存储到redis。

网址: jwt.io (opens new window)

Maven依赖

<dependency>
    <groupId>com.auth0</groupId>
    <artifactId>java-jwt</artifactId>
    <version>3.5.0</version>
</dependency>
1
2
3
4
5

它有比较重要的 2 个方法:JwtUtil.sign和JwtUtil.verity

编辑 (opens new window)
上次更新: 2021/12/26, 17:27:45
MySQL事务隔离级别
MySQL约束条件

← MySQL事务隔离级别 MySQL约束条件→

最近更新
01
vue3配合vite初始化项目的一些配置
07-26
02
网盘系统开发学习
07-24
03
linux多进程
06-19
更多文章>
Theme by Vdoing | Copyright © 2021-2024 wxvirus 苏ICP备2021007210号-1
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式