【问题标题】:How to store jwt token in redis in flask-jwt-extended?如何在flask-jwt-extended中的redis中存储jwt令牌?
【发布时间】:2019-01-17 05:51:39
【问题描述】:

我想知道 flask-jwt-extended 如何与自动缩放环境一起工作,有没有办法将令牌存储在集中式服务器 (redis) 中并访问所有自动缩放实例。

【问题讨论】:

    标签: flask flask-jwt-extended


    【解决方案1】:

    存储令牌的唯一时间是您将它们列入黑名单。否则 JWT 不需要后端的任何状态。如果您确实想将 redis 与黑名单结合使用,那么如何为您的烧瓶应用程序设置 redis 实例完全取决于您。 Flask-jwt-extended 不会为您处理。

    https://flask-jwt-extended.readthedocs.io/en/latest/blocklist_and_token_revoking/

    【讨论】:

    • 恕我直言,这在不使用 api 网关作为单入口点的自动缩放环境中是不正确的。考虑将您的应用程序扩展到 docker swarm 集群中的 4 个工作人员...需要粘性会话(在负载均衡器上)或复制令牌。
    • @sp33c 这完全不正确。在这种情况下,要让令牌在 4 个工作人员中的任何一个上工作,唯一需要的是所有工作共享相同的密钥。这就是为什么 JWT 是无状态身份验证分类的一部分。 blog.imaginea.com/stateless-authentication-using-jwt-2
    • 我明白了。谢谢指正。当然。数学..
    • 我刚刚查过了。如果 redis 不持久化数据,则必须更改密钥。否则旧令牌可以在旧令牌上重复使用。
    猜你喜欢
    • 2020-05-17
    • 2019-08-01
    • 2019-01-26
    • 2017-12-07
    • 2019-02-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-24
    相关资源
    最近更新 更多