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 = {
|
API_PATHS = {
|
||||||
# auth
|
# auth
|
||||||
'token-auth': '/api-token-auth/',
|
'token-auth': '/api-token-auth/',
|
||||||
|
'token-auth-v2': '/api-token-auth-v2/',
|
||||||
'my-account': 'accounts/',
|
'my-account': 'accounts/',
|
||||||
|
|
||||||
# services
|
# services
|
||||||
|
@ -37,14 +38,17 @@ API_PATHS = {
|
||||||
|
|
||||||
|
|
||||||
class Orchestra(object):
|
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.base_url = kwargs.pop('base_url', settings.API_BASE_URL)
|
||||||
self.username = username
|
self.username = username
|
||||||
self.session = requests.Session()
|
self.session = requests.Session()
|
||||||
self.auth_token = kwargs.pop("auth_token", None)
|
self.auth_token = kwargs.pop("auth_token", None)
|
||||||
|
|
||||||
if self.auth_token is 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):
|
def build_absolute_uri(self, path_name):
|
||||||
path = API_PATHS.get(path_name, None)
|
path = API_PATHS.get(path_name, None)
|
||||||
|
@ -63,6 +67,15 @@ class Orchestra(object):
|
||||||
|
|
||||||
return response.json().get("token", None)
|
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):
|
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"]
|
assert verb in ["HEAD", "GET", "POST", "PATCH", "PUT", "DELETE"]
|
||||||
if resource is not None:
|
if resource is not None:
|
||||||
|
|
Loading…
Reference in a new issue