Я пытаюсь решить проблему с базовой аутентификацией в фляге с помощью HTTPBasicAuth.Флажок HTTPBasicAuth none token внутри заголовка
Когда я получаю доступ через curl или веб-браузер, все работает хорошо. Это примеры которых работает:
curl -u [access_token]:unused -i X GET http://127.0.0.1:5000/api/v1/token
или
http://[access_token]:[email protected]:5000/api/v1/token
Но когда я использую Authorization: Basic [token]
или Authorization: Basic [token]:unused
в заголовке запроса я получаю 500 ошибку от сервера.
Верификация маркер доступа или адрес электронной почты и пароль:
@auth.verify_password
def verify_password(email_or_token, password):
user = User.verify_auth_token(email_or_token)
if not user:
user = User.query.filter_by(email = email_or_token).first()
if not user or not user.verify_password(password):
return False
g.user = user
return True
модель Пользователь:
class User(db.Model):
def generate_auth_token(self, expiration = 600):
s = Serializer(app.config['SECRET_KEY'], expires_in = expiration)
return s.dumps({ 'id': self.id })
@staticmethod
def verify_auth_token(token):
s = Serializer(app.config['SECRET_KEY'])
try:
data = s.loads(token)
except SignatureExpired:
return None # valid token, but expired
except BadSignature:
return None # invalid token
user = User.query.get(data['id'])
return user
Я обнаружил, что, когда я использую маркер или адрес электронной почты и пароль в заголовке, как Basic [token/email]:[password/unused]
, email_or_token
и password
Свойства: None
.
Error:
TypeError: argument of type 'NoneType' is not iterable
Почему возникает ошибка при использовании Authorization: Basic [token/email]:[password/unused]
в заголовке запроса? Что такое решение для этого?