zoukankan      html  css  js  c++  java
  • pyjwt的使用

    参考网址:

    1.https://www.cnblogs.com/chnmig/p/10143324.html
    2.https://www.cnblogs.com/viplanyue/p/12700607.html
    3.flask demo
       https://www.cnblogs.com/xujunkai/p/12360077.html

    1.下载模块

    pip install pyjwt==2.0.1

    2.代码实例

    import jwt
    from jwt import exceptions
    import datetime
    import time
    #1.头部
    headers = {
        "typ": "JWT",
        "alg": "HS256",
    }
    
    #2.载荷
    playod = {
        # 'exp': datetime.datetime.now() + datetime.timedelta(seconds=3),  # 过期时间
        'exp': datetime.datetime.utcnow() + datetime.timedelta(seconds=3),  # 过期时间
        # 'iat': datetime.datetime.now(),  # 开始时间:可不设置
        'iat': datetime.datetime.utcnow(),  # 开始时间:可不设置
        'iss': 'lianzong',  # 签名:可不设置
        'data': {  # 内容,一般存放该用户id和开始时间
            'username': "张三",
            'age': 18,
        },
    }
    
    #3.签发token
    key = "dbvjfbvbvfnbflsd" #加密解密密钥,可随意定义
    token_data = jwt.encode(payload=playod, key=key, algorithm='HS256')
    print(token_data)
    
    #4.校验token
    time.sleep(5)
    try:
        #issuer='lianzong',要与在和中的相对应
        pasre = jwt.decode(token_data, key, issuer='lianzong', algorithms=['HS256'])  # 解密,校验签名
    except exceptions.ExpiredSignatureError:
        print("token已失效")
    except jwt.DecodeError:
        print("token认证失败")
    except jwt.InvalidTokenError:
        print("非法的token")
    else:
        print("正确解析",pasre)
  • 相关阅读:
    计算机的几种命令行
    oracle体系结构
    数字档案馆建设指南及档案业务系统归档接口规范
    ERP系统归档
    oracle ITL(事务槽)的理解
    oracle表属性
    docker+httpd的安装
    访问GitLab的PostgreSQL数据库,查询、修改、替换等操作
    docker+rabbitmq的安装
    docker+elasticsearch的安装
  • 原文地址:https://www.cnblogs.com/tfzz/p/14662452.html
Copyright © 2011-2022 走看看