Получить идентификатор токена flask jwt другими методами

#python #jwt #token #flask-jwt

#python #jwt #токен #flask-jwt

Вопрос:

Я сохраняю идентификатор пользователя в токене, я аутентифицирую токен, а затем после получения идентификатора пользователя, подтверждающего, включен пользователь или нет в базе данных mysql. Итак, для других таблиц мне также нужен идентификатор пользователя для запросов к БД, так как я могу получить идентификатор пользователя в этих функциях? есть ли способ получить полезную нагрузку и получить идентификатор. Main.py

 app.secret_key = "temp"
api = Api(app)
jwt = JWT(app,authenticate, identity) #/auth automatically
  

Security.py

 def authenticate(username, password):
    user = User.find_by_username(username)
    if user and user.password == password:
        return user


def identity(payload):
    user_id = payload["identity"]
    return User.find_by_userid(user_id)
  

Пользовательский файл

 
def find_by_userid(cls,_id):
        #db connection
        query = "select uid from users where uid= %s"
  

файл сообщения

 #i want user id in this function as well
def fetch_msg_(cls,uid):

  

Комментарии:

1. Мне интересно, почему вы проверяете пользователя токена по базе данных. Вся идея JWTs заключается в том, чтобы предотвратить именно эти внешние издержки проверки.

2. У меня есть БД, в которой я внедрил разные таблицы, я сохраняю идентификатор пользователя в токене, поэтому, когда пользователь проходит аутентификацию, я извлекаю данные, связанные с идентификатором пользователя, теперь, если пользователь хочет видеть сообщения, он отправит другой запрос с токеном, а теперь для получения всех сообщений, связанных с конкретным пользователеммне нужен идентификатор пользователя. Я думаю, это понятно.