Я могу пройти проверку подлинности с использованием некоторого RESTful API одним из следующих способов:
- пароль
- сертификат
- анонимный
Я создал AuthenticationBase класс и его подкласс:
- PasswordAuthentication
- CertificateAuthentication
- AnonymousAuthentication
В основном аутентификация выполняется в два этапа:
- get_rsts_token
- set_access_token - сначала необходим токен RSTS
set_access_token имеет такой жереализация в подклассах, но get_rsts_token отличается, поэтому я пробовал что-то вроде этого:
import abc
ABC = abc.ABCMeta('ABC', (object,), {'__slots__': ()})
class AuthenticationBase(ABC):
@abc.abstractmethod
def get_rsts_token(self):
pass
def set_access_token()
rsts_token = self.get_rsts_token()
access_token = retrieve_token(rsts_token)
, но это приводит к ошибке:
TypeError: Can't instantiate abstract class AuthenticationBase with abstract methods get_rsts_token
Я хочу избежатьпереписать set_access_token во всех подклассах.Как этого добиться?