def refresh_unbound_discharge(self, unbound_discharge): data = {'discharge_macaroon': unbound_discharge} response = self.post('tokens/refresh', data=json.dumps(data), headers={ 'Content-Type': 'application/json', 'Accept': 'application/json' }) if response.ok: return response.json()['discharge_macaroon'] else: raise errors.StoreAuthenticationError( 'Failed to refresh unbound discharge: {}'.format( response.text))
def get_unbound_discharge(self, email, password, one_time_password, caveat_id): data = dict(email=email, password=password, caveat_id=caveat_id) if one_time_password: data['otp'] = one_time_password response = self.post( 'tokens/discharge', data=json.dumps(data), headers={'Content-Type': 'application/json', 'Accept': 'application/json'}) if response.ok: return response.json()['discharge_macaroon'] else: raise errors.StoreAuthenticationError( 'Failed to get unbound discharge: '.format(response.text))
def get_macaroon(self, acls, packages=None, channels=None): data = { 'permissions': acls, } if packages is not None: data.update({ 'packages': packages, }) if channels is not None: data.update({ 'channels': channels, }) headers = { 'Accept': 'application/json', } response = self.post('acl/', json=data, headers=headers) if response.ok: return response.json()['macaroon'] else: raise errors.StoreAuthenticationError('Failed to get macaroon')