【问题标题】:Get other user jti for flask-jwt-extended为 flask-jwt-extended 获取其他用户 jti
【发布时间】:2023-03-12 18:31:01
【问题描述】:

如何获得'jti',不是我的,而是通过“用户名”? 在注册/登录时,用于访问和刷新的 jti 被分配给“用户名”。 所有说明和文档仅说明如何让我自己的 jti 以 smth 注销。像这样的代码:

class UserLogoutRefresh(Resource):
    @jwt_refresh_token_required
    def post(self):
        jti = get_raw_jwt()['jti']
        try:
            revoked_token = RevokedTokenModel(jti = jti)
            revoked_token.add()
            return {'message': 'Refresh token has been revoked'},200
        except:
            return {'message': 'Something went wrong'}, 500

如何为其他用户获取 jti。 我想像:

jti = get_raw_jwt(identity='someusername')['jti']

为此必须存在,谁知道???

【问题讨论】:

    标签: python flask jwt flask-jwt flask-jwt-extended


    【解决方案1】:

    每个令牌都有一个唯一的 jti,它不受每个用户名的限制。例如,如果同一个用户创建了 3 个令牌,则所有令牌都将具有不同的 jti。如果您想访问这些 jti,那么您将在创建令牌时使用 decode_token 函数并将其保存在数据存储中,以便稍后查找

    【讨论】:

    • 当用户登录时,接下来发生在登录类 access_token = create_access_token(identity=data['username']) refresh_token = create_refresh_token(identity=data['username']) 我需要添加可能性管理员撤销这些令牌,为用户名
    • 查看使用数据库将其列入黑名单的示例以了解其外观:github.com/vimalloc/flask-jwt-extended/tree/master/examples/…
    • 它需要重建代码,但这是我需要的,谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-23
    • 2019-08-02
    • 1970-01-01
    • 1970-01-01
    • 2020-02-26
    • 2019-07-19
    相关资源
    最近更新 更多