zoukankan      html  css  js  c++  java
  • 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,我们可以根据需求悬着相应的方法

      

  • 相关阅读:
    docker备忘录
    GUAVA-RateLimit
    JDK各版本发展史
    C++ 基础备忘录
    浅谈MES
    MES在流程和离散制造企业的15个差别!
    mysql连接oracle补偿方案—odbc驱动
    WinForm控件Chart的图表类型
    C#的异常处理机制(try...catch...finally)
    oracle 横向列变为纵向列
  • 原文地址:https://www.cnblogs.com/xuchuankun/p/9802710.html
Copyright © 2011-2022 走看看