У меня есть мой ионный интерфейс, который добавляет токен на предъявителя в каждый запрос.Мой сервер Tornado уже настроен для CORS.Проблема в том, что когда я активирую свой декоратор, чтобы проверить, имеет ли этот запрос заголовок «Авторизация», я не понимаю, почему этот заголовок исчез.Там нет заголовка «Авторизация».Но если я отключу этот заголовок, все в порядке, и торнадо покажет мне этот заголовок.
Есть идеи?
Я переопределяю метод RequestHandler set_default_headers
С этими заголовками:
set_default_headers(self):
self.set_header("Access-Control-Allow-Origin", "*")
self.set_header("Access-Control-Allow-Headers", "authorization")
self.set_header('Access-Control-Allow-Methods', 'POST, GET, OPTIONS')
Декоратор
class EvaluationHandler(RequestHandler)
def get(self):
print(handler.request.headers) <--- Good headers
MyТокен-декоратор, чтобы проверить это:
def jwtauth(handler_class):
def wrap_execute(handler_execute):
def require_auth(handler, kwargs):
auth = handler.request.headers.get('Authorization', None)
print(handler.request.headers) <---- Bad Headers
print(auth)
if auth:
if not loginRepository.validToken(auth):
return_header_error(handler)
else:
return_header_error(handler)
handler._transforms = []
handler.write(MISSING_AUTHORIZATION_KEY)
handler.finish()
return True
def _execute(self, transforms, *args, **kwargs):
try:
require_auth(self, kwargs)
except Exception:
return False
return handler_execute(self, transforms, *args, **kwargs)
return _execute
handler_class._execute = wrap_execute(handler_class._execute)
return handler_class
РЕДАКТИРОВАТЬ: проблема может быть в том, что пользовательский декоратор принимает собственную конфигурацию заголовка, но я все равно не знаю, как это сделать