我可以使用以下方法之一针对某些RESTful API进行身份验证:
我创建了 AuthenticationBase 类及其子类:
基本身份验证分两个步骤:
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 。如何实现呢?