单点登录、 cookie-session方法和jwt方法、比较、jwt原理、使用

1、什么是单点登录?

在多个系统中,用户只需登录一次,各个系统即可感知该用户已经登录。

2、JWT原理

JSON Web Tokens的格式组成,jwt是一段被base64编码过的字符序列,用点号分隔,一共由三部分组成,头部header,消息体playload和签名sign。

  • jwt的头部Header是json格式
    {
    “typ”:“JWT”,
    “alg”:“HS256”,
    “exp”:1491066992916
    }

    其中typ是type的简写,代表该类型是JWT类型,加密方式声明是HS256,exp代表当前时间.

  • jwt的消息体Playload
    {
    “userid”:“123456”,
    “iss”:“companyName”
    }

    消息体的具体字段可根据业务需要自行定义和添加,只需在解密的时候注意拿字段的key值获取value。

  • 签名sign的生成
    最后是签名,签名的生成是把header和playload分别使用base64url编码,接着用’.‘把两个编码后的字符串连接起来,再把这拼接起来的字符串配合密钥进行HMAC SHA-256算法加密,最后再次base64编码下,这就拿到了签名sign. 最后把header和playload和sign用’.‘ 连接起来就生成了整个JWT。

3、JWT的使用
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
CookieSessionJWT都是用于在Web应用程序中存储和验证用户身份的机制。 Cookie是在服务器生成后发送给浏览器存储的一小段文本信息。它可以包含用户身份验证信息或其他需要在不同请求之间保持状态的数据。Cookie有一个有效期,一般会设置为较长的时间,比如一周或两周左右。这样可以在用户下次访问网站时继续使用CookieSession是服务器上的一种机制,用于跟踪和存储用户的会话状态。它在服务器端存储用户的身份验证信息和其他会话数据。与Cookie不同,Session数据存储在服务器上,而不是浏览器中。Session的有效期一般设置较短,比如24分钟或0.5小时,用于提高安全性。 JWT(JSON Web Token)是一种用于身份验证和授权的开放标准。它是一种基于JSON的数据格式,包含了用户的身份验证信息和其他元数据,并使用数字签名进行验证。JWT通常用于通过令牌的方式来验证用户身份。它的优点是无需在服务器上存储会话信息,只需通过数字签名即可验证令牌的真实性。因此,JWT适用于分布式系统和无状态应用程序。 总结起来,Cookie是将信息存储在浏览器端,Session是将信息存储在服务器端,而JWT则是通过令牌的方式进行身份验证和授权。每种机制都有其适用的场景和优缺点,需要根据具体的应用需求选择合适的方案。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [Cookie,Session,JWT](https://blog.csdn.net/m0_70273331/article/details/124551071)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* [CookieSessionJWT的详解](https://blog.csdn.net/weixin_35695511/article/details/105040183)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值