免费注册,打造高效身份管理
博客/开发者/jwt单点登陆和cas单点登陆有什么区别,cas单点登录是否集成了jwt?
jwt单点登陆和cas单点登陆有什么区别,cas单点登录是否集成了jwt?
Authing 官方2022.11.11阅读 1378

CAS - Central Authentication Server

CAS 全称 Central Authentication Server,也称作中央认证服务,是支持 JWT 的。

其分为两个部分:CAS 服务端(CAS Server) 和 CAS 客户端(CAS Client)。服务端负责认证工作,独立部署;客户端负责处理访问请求,需要登录时,重定向到服务端。

认证流程

  1. 浏览器向客户端请求提供某个受保护的资源。
  2. 重定向到服务端进行认证
  3. 用户进行身份认证
  4. 服务端生成票据
  5. 客户端向服务端验证票据
  6. 验证成功返回用户信息

JWT - JSON Web Token

JWT 是一种用于在两方之间安全地表示声明的方法,是 token 思想的一种实现方式。

组成部分

本质上就是一个字符串,但是其带有签名信息,接收后可以校验是否正确或是否被篡改等。JWT 组成分为三个部分,每个部分用点号连接,像是这样:

HEADER.PAYLOAD.SIGNATURE
  • HEADER:用于声明 算法 和 token 类型,alg 表明算法是 HS256,typ 表明类型是 JWT,如下:
{
  "alg": "HS256",
  "typ": "JWT"
}
 
  • PAYLOAD:存放所需传递的数据,有默认字段也可以自定义私有字段(这是未加密的,仅进行了编码,只能传递非敏感的信息),如下:
{
    // 自带的默认字段
    "iss": "发行人",
    "exp": "到期时间",
    "sub": "主题",
    "aud": "用户",
    "nbf": "在此之前不可用",
    "iat": "发布时间",
    "jti": "ID用于标识JWT",
    // 自定义的字段
    "name": "Tom",
    "admin": true
}
  • VERIFY SIGNATURE:结构如下,将 HEADER 、PAYLOAD 、secret密钥 三个部分分别进行 base64UrlEncode 的操作(secret 可以不 encode),然后使用自己所选的算法(在 HEADER 中指定)进行计算,得出的结果便是此部分的内容。
HMACSHA256(
  base64UrlEncode(header) + "." +
  base64UrlEncode(payload) + "." +
  secret 或者 base64UrlEncode(secret)
)  

认证流程

  1. 客户端(浏览器)向服务端发送账号密码请求登录
  2. 服务端校验账号密码并生成 JWT Token 将其返回
  3. 客户端(浏览器)保存 JWT Token,下次需要请求时将其携带
  4. 服务端校验 JWT Token 信息(像 VERIFY SIGNATURE 部分一样进行相同操作,取出 header 和 payload 并加上 secret 一同进行 encode,然后比对此部分是否一致),然后验证有效性、是否过期等等,通过后返回业务数据
  5. 客户端(浏览器)收到业务数据,进行处理并使用

在这里插入图片描述

关于 Authing

Authing 既是客户的支持者也是客户的产品专家和战略顾问,更是值得信赖的合作伙伴。目前,Authing 身份云已帮助 30,000+ 家企业和开发者构建标准化的用户身份体系,感谢可口可乐、元气森林、招商银行、中国石油、三星集团、CSDN 等客户选择并实施 Authing 解决方案。
点击链接,立刻了解 Authing!

文章作者

avatar

Authing 官方

0

文章总数

authing blog rqcode
关注 Authing 公众号
随时随地发现更多内容
authing blog rqcode
添加 Authing 小助手
加入 Authing 开发者大家庭
To create a perfect identity system
Online
How do you create a complete identity system?
Communicate Now
authing
Add Wecom to receive industry information
authing
authing
Download the Authing token and experience fast login authentication!
Free Trial
Online
Phone