我是前端,利用假期时间在家想学习 后端知识。
目前遇到的问题就是关于登录这块。
就我目前来说我知道的。
1.登录后,账号,密码(加密)放 cookie 里 [不安全不推荐]
2.登录后生成一个 sessionId 放到客户端 cookie 里。只放 session 的话 不保险(资源和重启服务),所以要 session + Redis
3.jwt ???
这个 jwt 我就有点云里雾里 不太懂,我自己理解下来 就是 把自定义的文本信息加密(类似图片转 base64 编码)后,把加密后的 key 给客户端,然后客户端每次访问 header 里带这个 key 过来就行。key 里加密的时候定义过期时间,服务端拿到后解密,所以服务端也不用存任何东西。
但是我的疑问来了。那么这个 key 是不是任何人拿到了都可以通过验证?服务端提前生成了 key,所以没办法在过期日期前让 key 失效? 所以失效的办法只有更改服务端的加密算法,让所有的 key 都失效而达到目的?
以上是我的疑问和理解,不知道是否正确。希望后端同学帮忙指导一下,谢谢~
目前遇到的问题就是关于登录这块。
就我目前来说我知道的。
1.登录后,账号,密码(加密)放 cookie 里 [不安全不推荐]
2.登录后生成一个 sessionId 放到客户端 cookie 里。只放 session 的话 不保险(资源和重启服务),所以要 session + Redis
3.jwt ???
这个 jwt 我就有点云里雾里 不太懂,我自己理解下来 就是 把自定义的文本信息加密(类似图片转 base64 编码)后,把加密后的 key 给客户端,然后客户端每次访问 header 里带这个 key 过来就行。key 里加密的时候定义过期时间,服务端拿到后解密,所以服务端也不用存任何东西。
但是我的疑问来了。那么这个 key 是不是任何人拿到了都可以通过验证?服务端提前生成了 key,所以没办法在过期日期前让 key 失效? 所以失效的办法只有更改服务端的加密算法,让所有的 key 都失效而达到目的?
以上是我的疑问和理解,不知道是否正确。希望后端同学帮忙指导一下,谢谢~