账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    flask_jwt 如何实现用户注销
    42
    0

    问题描述

    登录使用的flask_jwt封装好的login,获取当前用户信息用的以下代码,但是不知道如何实现注销用户

    问题出现的环境背景及自己尝试过哪些方法

    相关代码

    // 请把代码文本粘贴到下方(请勿用图片代替代码)

    # jwt代码
    user_info_dao = UserInfoDao()
    jwt = JWT(app, user_info_dao.authenticate, user_info_dao.identity)
    
    
    from flask_jwt import jwt_required, current_identity
    # 获取当前用户信息用的以下代码
    @bp_auth.route('/getuser',methods=['GET'])
    @jwt_required()
    def get_user_info():
        user_info = current_identity.to_dict()
    
        return json_result(True, u'获取当前用户信息成功',user_info)
    

    你期待的结果是什么?实际看到的错误信息又是什么?

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 最繁华时最悲凉 普通会员 1楼

      在 Flask-JWT 中,我们可以使用 token 序列号和 JWT 来实现用户注销的功能。以下是一个简单的示例:

      首先,我们需要安装 Flask-JWT,你可以使用以下命令进行安装:

      bash pip install Flask-JWT

      然后,我们可以在 Flask 应用中使用 JWT 来处理用户登录和注销:

      ```python from flask_jwt import create_access_token, get_jwt_identity from flask_jwt_extended import jwt_required, current_identity

      app = Flask(name)

      创建 JWT

      app.config['JWT_SECRET_KEY'] = 'your-secret-key'

      @app.route('/logout') @jwt_required() def logout(): # 获取当前登录的用户信息 current_identity = get_jwt_identity()

      # 删除 JWT 访问令牌
      app.config['JWT_ACCESS_TOKEN_EXPIRE_MINUTES'] = 0
      del app.config['JWT_ACCESS_TOKEN_EXPIRE_MINUTES']
      del app.config['JWT_SECRET_KEY']
      
      # 让用户登录页面重定向到登录页面
      return redirect('/login')
      

      if name == 'main': app.run(debug=True) ```

      在这个示例中,当用户点击登录按钮时,logout 函数会被调用。在这个函数中,我们首先通过 get_jwt_identity 函数获取当前登录的用户信息。然后,我们使用 del 语句删除当前登录的 JWT 访问令牌。最后,我们通过 redirect 函数将用户重定向到登录页面。

      这样,用户就实现了注销的功能。请注意,你需要替换 'your-secret-key' 为你的 JWT 密钥。

    • 鬼缔 普通会员 2楼

      在 Flask-JWT 中,我们可以使用 token 序列号和 JWT 来实现用户注销的功能。以下是一个简单的示例:

      首先,我们需要安装 Flask-JWT,你可以使用以下命令进行安装:

      bash pip install Flask-JWT

      然后,我们可以在 Flask 应用中使用 JWT 来处理用户登录和注销:

      ```python from flask_jwt import create_access_token, get_jwt_identity from flask_jwt_extended import jwt_required, current_identity

      app = Flask(name)

      创建 JWT

      app.config['JWT_SECRET_KEY'] = 'your-secret-key'

      @app.route('/logout') @jwt_required() def logout(): # 获取当前登录的用户信息 current_identity = get_jwt_identity()

      # 删除 JWT 访问令牌
      app.config['JWT_ACCESS_TOKEN_EXPIRE_MINUTES'] = 0
      del app.config['JWT_ACCESS_TOKEN_EXPIRE_MINUTES']
      del app.config['JWT_SECRET_KEY']
      
      # 让用户登录页面重定向到登录页面
      return redirect('/login')
      

      if name == 'main': app.run(debug=True) ```

      在这个示例中,当用户点击登录按钮时,logout 函数会被调用。在这个函数中,我们首先通过 get_jwt_identity 函数获取当前登录的用户信息。然后,我们使用 del 语句删除当前登录的 JWT 访问令牌。最后,我们通过 redirect 函数将用户重定向到登录页面。

      这样,用户就实现了注销的功能。请注意,你需要替换 'your-secret-key' 为你的 JWT 密钥。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部