首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >django jwt如何签署jwt令牌?

django jwt如何签署jwt令牌?
EN

Stack Overflow用户
提问于 2018-11-05 03:02:06
回答 1查看 509关注 0票数 0

当使用https://github.com/GetBlimp/django-rest-framework-jwt时,JWT请求是如何签名的?它是否在settings.py文件中使用django密钥,或者如何具体地对请求进行签名?是否有一种提供私钥文件的方法,或者唱jwt请求的要求是什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-11-05 03:19:54

代码语言:javascript
复制
JWT_AUTH = {
    'JWT_ENCODE_HANDLER':
    'rest_framework_jwt.utils.jwt_encode_handler',

    'JWT_DECODE_HANDLER':
    'rest_framework_jwt.utils.jwt_decode_handler',

    'JWT_PAYLOAD_HANDLER':
    'rest_framework_jwt.utils.jwt_payload_handler',

    'JWT_PAYLOAD_GET_USER_ID_HANDLER':
    'rest_framework_jwt.utils.jwt_get_user_id_from_payload_handler',

    'JWT_RESPONSE_PAYLOAD_HANDLER':
    'rest_framework_jwt.utils.jwt_response_payload_handler',

    'JWT_SECRET_KEY': settings.SECRET_KEY,
    'JWT_GET_USER_SECRET_KEY': None,
    'JWT_PUBLIC_KEY': None,
    'JWT_PRIVATE_KEY': None,
    'JWT_ALGORITHM': 'HS256',
    'JWT_VERIFY': True,
    'JWT_VERIFY_EXPIRATION': True,
    'JWT_LEEWAY': 0,
    'JWT_EXPIRATION_DELTA': datetime.timedelta(seconds=300),
    'JWT_AUDIENCE': None,
    'JWT_ISSUER': None,

    'JWT_ALLOW_REFRESH': False,
    'JWT_REFRESH_EXPIRATION_DELTA': datetime.timedelta(days=7),

    'JWT_AUTH_HEADER_PREFIX': 'JWT',
    'JWT_AUTH_COOKIE': None,

}

这些是drf中可用的设置

在这里您可以看到JWT_SECRET_KEY设置。您可以在这里指定自定义秘密。

JWT_SECRET_KEY --这是用来对JWT签名的秘密密钥。确保这是安全的,不共享或公开。 缺省值是项目的settings.SECRET_KEY。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53147771

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档