Я предпочитаю подход с декорированием функций, которые требуют аутентификации, потому что он не требует ввода имени действия 2 раза - в определении функции и в списке require_auth. В этом случае вы можете напечатать название действия, и оно не будет замечено переводчиком.
Декорирование действий не имеет этой проблемы:
@authorize(ValidAuthKitUser())
def list(self):
pass
Вы также можете украсить функцию __before__, и она будет влиять на все действия контроллера:
@authorize(ValidAuthKitUser())
def __before__(self):
pass
def list(self): # automatically checks if the user is authenticated
pass