API 调用类:如何正确处理令牌



到目前为止,我正在使用带有函数的API方法

但是现在我正在尝试使用具有API的每个方法构建一个类。

我主要关心的是正确处理令牌的生成。这是一个基本的身份验证,我用/token 重新请求在 xml 中发送用户/密码。

生成对象后,我想获取一个令牌并在过期时刷新它。我想避免为我将发出的每个请求获取令牌。

在构造函数中,我输入了 API 的用户、密码和根 URL。 我还self.token_access = get_token(self( 与请求令牌的方法get_token。

如果我在每个请求之前放置一个刷新令牌(一个请求的方法(,它将起作用。但是,它将刷新令牌(将时间添加到到期日期(,但只有在令牌已失效时,它才希望这样做。

最优雅的方式是什么?

非常感谢您的帮助

请在下面找到我到目前为止所做的事情的一些细节。这个类正在工作,但是,当我构建一个 API 对象时,如果令牌过期,它将无法管理令牌的刷新......

class API:
def __init__(self,host,user,password):

self.host = host
self.user = user
self.password = password
self.token = self.get_token()
def get_token(self):
xml = "<userCredentials><login>" +self.user+ "</login><password>" +self.password+ "</password></userCredentials>"
Response = requests.post(self.host + "tokens", data=xml, headers={"Content-Type": "application/xml"})
if Response.ok:
print(Response.content)
root = et.fromstring(Response.content)
token_session = root.find('tokenId').text
return token_session
else:
Response.raise_for_status()
def refresh_token(self):
try:
requests.put(self.host + "tokens" + "/" + self.token_access, data=xml, headers={"Content-Type": "application/xml"})
return self.token_access
except:
return self.get_token()

def methodap1_1(self):
...

最新更新