小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_4-2.微服务下登录检验解决方案 JWT讲解

笔记

2、微服务下登录检验解决方案 JWT讲解
    简介:微服务下登录检验解决方案 JWT讲解 json wen token

        1、JWT 是一个开放标准,它定义了一种用于简洁,自包含的用于通信双方之间以 JSON 对象的形式安全传递信息的方法。
            JWT 可以使用 HMAC 算法或者是 RSA 的公钥密钥对进行签名

            简单来说,就是通过一定规范来生成token,然后可以通过解密算法逆向解密token,这样就可以获取用户信息
            {
                id:888,
                name:'小D',
                expire:10000
            }
            
            funtion 加密(object, appsecret){
                xxxx
                return base64( token);
            }

            function 解密(token ,appsecret){

                xxxx
                //成功返回true,失败返回false
            }

            优点:
                1)生产的token可以包含基本信息,比如id、用户昵称、头像等信息,避免再次查库

                2)存储在客户端,不占用服务端的内存资源

            缺点:
                token是经过base64编码,所以可以解码,因此token加密前的对象不应该包含敏感信息
                如用户权限,密码等

        2、JWT格式组成 头部、负载、签名
           header+payload+signature

           头部:主要是描述签名算法
           负载:主要描述是加密对象的信息,如用户的id等,也可以加些规范里面的东西,如iss签发者,exp 过期时间,sub 面向的用户
           签名:主要是把前面两部分进行加密,防止别人拿到token进行base解密后篡改token

        3、关于jwt客户端存储
            可以存储在cookie,localstorage和sessionStorage里面
 

开始






 

posted @ 2019-09-05 20:39  高山-景行  阅读(252)  评论(0编辑  收藏  举报