Пример #1
0
 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))
Пример #2
0
 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))
Пример #3
0
 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')