コード例 #1
0
 def post(self):
     """Function handling reset password api endpoint"""
     try:
         identity = get_jwt_identity()
         jti = get_raw_jwt()['jti']
         current_user = User.get_user_by_username(identity)
         data = request.get_json(self)
         # if validate_reset_password(data):
         #     return validate_reset_password(data)
         if User.verify_password(current_user.password_hash, data["password"]):
             try:
                 current_user.password_hash = current_user.hash_password(data['new_password'])
                 current_user.save()
                 
             except:
                 pass
             finally:
                 # Revoke token after password change
                 Revoked(jti).save()
                 Token.delete(Token.token_by_owner(current_user))
                 return Response(json.dumps({"Message": "Password updated successfully. Please login again."}), status=200)
         return Response(json.dumps({"Message": "Password do not match"}), status=403)
     except Exception as e:
         print(e)
         return Response(json.dumps({"Message": "Not logged in"}), status=401)
コード例 #2
0
 def post(self):
     """Function handling logout user api endpoint"""
     try:
         current_user = get_jwt_identity()
         jti = get_raw_jwt()['jti']
         if not Revoked.is_blacklisted(jti):
             Revoked(jti).save()
             Token.delete(Token.token_by_owner(current_user))
             return Response(json.dumps({"Message": "Logged out successfully"}), status=200)
         return Response(json.dumps({"Message": "User token has been revoked"}), status=403)
     except Exception as e:
         print (e)
         return Response(json.dumps({"Message": "Not logged in"}), status=401)