def authenticate(self): """ Does authentication """ headers = { 'X-Storage-User': self.username, 'X-Storage-Pass': self.api_key, 'Content-Length': '0' } http = httplib2.Http() http.disable_ssl_certificate_validation = True res, content = http.request(self.auth_url, 'GET', headers=headers) response = Response() response.headers = res response.status_code = int(res.status) response.content = content if response.status_code == 401: raise errors.AuthenticationError('Invalid Credentials') response.raise_for_status() try: storage_options = json.loads(response.content)['storage'] except ValueError: raise errors.StorageURLNotFound("Could not parse services JSON.") self.auth_token = response.headers['x-auth-token'] self.storage_url = self.get_storage_url(storage_options) if not self.storage_url: self.storage_url = response.headers['x-storage-url'] if not self.auth_token or not self.storage_url: raise errors.AuthenticationError('Invalid Authentication Response')
def authenticate(self): """ Does authentication """ headers = { 'X-Storage-User': self.username, 'X-Storage-Pass': self.api_key, 'Content-Length': '0' } response = requests.get(self.auth_url, headers=headers, verify=False) if response.status_code == 401: raise errors.AuthenticationError('Invalid Credentials') response.raise_for_status() try: storage_options = json.loads(response.content)['storage'] except ValueError: raise errors.StorageURLNotFound("Could not parse services JSON.") self.auth_token = response.headers['x-auth-token'] self.storage_url = self.get_storage_url(storage_options) if not self.storage_url: self.storage_url = response.headers['x-storage-url'] if not self.auth_token or not self.storage_url: raise errors.AuthenticationError('Invalid Authentication Response')
def _authenticate(self, response): if response.status_code == 401: raise errors.AuthenticationError('Invalid Credentials') response.raise_for_status() try: storage_options = json.loads(response.content)['storage'] except ValueError: raise errors.StorageURLNotFound("Could not parse services JSON.") self.auth_token = response.headers.get('x-auth-token', 'huh?') self.storage_url = self.get_storage_url(storage_options) if not self.storage_url: self.storage_url = response.headers['x-storage-url'] raise errors.StorageURLNotFound( "Could not find defined storage URL. Using default.") if not self.auth_token or not self.storage_url: raise errors.AuthenticationError('Invalid Authentication Response')