Я новичок в Flask, изучая его из обучающего видео. Я пытаюсь аутентифицироваться и получить токен доступа. Я создал пользовательский класс, который находится в user.py :
class User:
def __init__(self, _id, username, password):
self.id = _id,
self.username = username,
self.password = password
в моем security.py :
from werkzeug.security import safe_str_cmp
from user import User
users = [
User(1, 'user1', 'abcxyz'),
]
username_table = {u.username: u for u in users}
userid_table = {u.id: u for u in users}
def authenticate(username, password):
user = username_table.get(username, None)
print(username) # user1
print(password) # abcxyz
print(username_table) #{('user1',): <user.User object at 0x000001AD37543358>}
print(user) # None
if user and safe_str_cmp(user.password.encode('utf-8'), password.encode('utf-8')):
return user
def identity(payload):
user_id = payload['identity']
return userid_table.get(user_id, None)
Как вы видно, что я пытался отладить с распечаткой всего. Внутри функции аутентификации я успешно получил имя пользователя и пароль из запроса. Но в результате переменная user равна None. Похоже, .get метод не работает, и это вызывает ошибку, но я не могу понять, почему я получаю None там. Я показал результаты перед печать функции