add api call for validate with token
This commit is contained in:
parent
8d3033c0ca
commit
df9c0c2361
|
@ -14,6 +14,7 @@ TOKEN_PATH = '/api-token-auth/'
|
|||
API_PATHS = {
|
||||
# auth
|
||||
'token-auth': '/api-token-auth/',
|
||||
'token-auth-v2': '/api-token-auth-v2/',
|
||||
'my-account': 'accounts/',
|
||||
|
||||
# services
|
||||
|
@ -37,14 +38,17 @@ API_PATHS = {
|
|||
|
||||
|
||||
class Orchestra(object):
|
||||
def __init__(self, *args, username=None, password=None, **kwargs):
|
||||
def __init__(self, *args, username=None, password=None, token=None, **kwargs):
|
||||
self.base_url = kwargs.pop('base_url', settings.API_BASE_URL)
|
||||
self.username = username
|
||||
self.session = requests.Session()
|
||||
self.auth_token = kwargs.pop("auth_token", None)
|
||||
|
||||
if self.auth_token is None:
|
||||
self.auth_token = self.authenticate(self.username, password)
|
||||
if token:
|
||||
self.auth_token = self.authenticate_token(token)
|
||||
else:
|
||||
self.auth_token = self.authenticate(self.username, password)
|
||||
|
||||
def build_absolute_uri(self, path_name):
|
||||
path = API_PATHS.get(path_name, None)
|
||||
|
@ -63,6 +67,15 @@ class Orchestra(object):
|
|||
|
||||
return response.json().get("token", None)
|
||||
|
||||
def authenticate_token(self, token):
|
||||
url = self.build_absolute_uri('token-auth-v2')
|
||||
response = self.session.post(
|
||||
url,
|
||||
data={"token": token},
|
||||
)
|
||||
|
||||
return response.json().get("token", None)
|
||||
|
||||
def request(self, verb, resource=None, url=None, data=None, render_as="json", querystring=None, raise_exception=True):
|
||||
assert verb in ["HEAD", "GET", "POST", "PATCH", "PUT", "DELETE"]
|
||||
if resource is not None:
|
||||
|
|
Loading…
Reference in New Issue