• python Web生成token的几种方法,你确定不进来看看?


    1.使用rest_framework_jwt

    from rest_framework_jwt.settings import api_settings
    jwt_payload_handler = api_settings.JWT_PAYLOAD_HANDLER
    jwt_encode_handler = api_settings.JWT_ENCODE_HANDLER
    payload = jwt_payload_handler("存储的信息")
    token = jwt_encode_handler(payload)

    这种方式相比较另外一种方式比较简单,但这种方式生成的token无法根据我们的需求设置过期时间,界限来的一种方法可以为token设置过期时间。

    2.使用TimedJSONWebSignatureSerializer

    from itsdangerous import TimedJSONWebSignatureSerializer as Serializer
    from django.conf import settings
    
    # serializer = Serializer(秘钥, 有效期秒)
    serializer = Serializer(settings.SECRET_KEY, 300)
    # serializer.dumps(数据), 返回bytes类型
    token = serializer.dumps({'mobile': '18512345678'})
    token = token.decode()
    
    # 检验token
    # 验证失败,会抛出itsdangerous.BadData异常
    serializer = Serializer(settings.SECRET_KEY, 300)
    try:
        data = serializer.loads(token)
    except BadData:
        return None
    

      这种方式可以生成一个具有时效的token,我们可以根据需求悬着相应的方法

      

  • 相关阅读:
    MySQL数据库与表的增删改查
    JavaScript相关基础知识点
    用jquery制作一个二级导航下拉菜单
    jQuery如何获取元素及选择器的参考
    Trapping Rain Water
    First Missing Positive
    Combination Sum II
    Combination Sum
    vector的几小点
    C中字符结尾‘’的作用
  • 原文地址:https://www.cnblogs.com/xuchuankun/p/9802710.html
Copyright © 2020-2023  润新知