Мое приложение Flask, которое я сделал, использует flask-jwt-extended
для аутентификации JWT. Когда я следовал этому руководству, я добавил электронную почту в качестве отступа при создании токена доступа прямо здесь:
class ApiLogin(Resource):
def post(self):
data = loginParser.parse_args()
current_user = User.find_by_email(data['email'])
current_member = FamilyMember.find_by_email(data['email'])
if not current_user or current_member:
return {'message': 'User email {} doesn\'t exist'.format(data['email'])}, 403
if bcrypt.check_password_hash(current_user.password if current_user else current_member.password, data['password']):
access_token = create_access_token(identity =data['email'])
refresh_token = create_refresh_token(identity =data['email'])
print(get_raw_jwt())
return {
'message': 'Logged in as {}'.format(data['email']),
'name': current_user.name if current_user else current_member.name,
'access_token': access_token,
'refresh_token': refresh_token,
'identity': get_raw_jwt()
}
else:
return {'message': 'Wrong credentials'}, 403
Но функция get_raw_jwt()
возвращает идентификатор в качестве идентификатора вместо электронной почты, например:
{'iat': 1594408603, 'nbf': 1594408603, 'jti': '1b7227e5-873e-4076-aac6-a81ec2834256', 'exp': 1597000603, 'identity': 2, 'fresh': False, 'type': 'access', 'user_claims': {}}
Как это случилось? Провел часы в поиске, но не получил аналогичного результата. Подскажите пожалуйста, в какой части я делаю ошибку