JWT单点登录

一:解释刷新tocken机制?

答:当用户第一次登录时,认证用户后,返回给用户两个tocken,一个专门用于登录的登录tocken,通常设置两个小时。另外一个用于刷新tocken,通常设置14天。当在两个小时内,验证用户的登录tocken就可以登录,两个小时过后,用户的登录tocken失效,用户携带刷新tocken来到后端,后端返回给前端一个响应,前端看到这个响应后,请求刷新tocken,后端此时设置新的tocken给用户。

优点:防止爬虫获取用户的登录tocken后,tocken一直有效,一直爬取后台信息。

二:JWT登录的优点?

  • 1:无状态
  • 2:避免CSRF攻击
  • 3:适合移动端
  • 4:单点登录

1:token 自身包含了身份验证所需要的所有信息,使得我们的服务器不需要存储 Session 信息,大大减轻了服务端的压力。
2:CSRF攻击是,点击虚假网站,网站利用浏览器的cookie,向服务器发送请求。但是对于JWT来说,在我们登录成功获得 token 之后,一般会选择存放在 local storage 中。然后我们在前端通过某些方式会给每个发到后端的请求加上这个 token,因为不会涉及到cookie,这样就不会出现 CSRF 漏洞的问题。
3:cookie和session只能保存在浏览器中,不适合移动端,但是JWT可以在移动端使用。
4:对于session来说,由于服务器保存用户信息,服务器可能存在多台,那么服务器需要缓存共享,才能让一个用户访问多台服务器。而JWT不存在这个问题,一台服务器颁发tocken,多台服务器都可以认证。

三:如何防止tocken被劫持?

答:我觉得任何一种认证方式,都不能做到逻辑上的绝对安全和毫无漏洞。但是如果给攻击者造成了足够的麻烦,使其破解成本大大提升,那么我们就认为认证系统足够安全了。所以可以采用JWE。

1:JWE包括5部分,头部,加密密钥,初始化向量,密文,认证标记。

加密步骤:

1:根据头部声明将头部进行编码。
2:随机生成一个对称加密密钥,然后使用非对称加密的公钥对对称加密密钥进行加密。
3:初始化向量。
4:使用对称加密密钥对用户信息进行加密。
5:生成数字认证标签。

解密步骤:

1:使用非对称加密的私钥对加密密钥解密,得到对称加密的公钥。
2:使用对称加密的公钥解密,得到用户的信息。

四:JWT的缺点有什么?

JWT唯一的缺点就是无法销毁已经颁发的tocken,当用户退出登录时,服务器给前端返回信息,让浏览器清除掉Local Storage中的tocken,但是如果通过其他方式,在清除之前将tocken保存下来,在这个Tocken的有效期内,使用这个tocken仍然可以访问服务器。直到tocken过期。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

奈何碎银没有几两

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值