diff options
| -rw-r--r-- | client/src/leap/soledad/client/_secrets/__init__.py | 4 | ||||
| -rw-r--r-- | client/src/leap/soledad/client/_secrets/storage.py | 9 | ||||
| -rw-r--r-- | client/src/leap/soledad/client/api.py | 3 | 
3 files changed, 10 insertions, 6 deletions
| diff --git a/client/src/leap/soledad/client/_secrets/__init__.py b/client/src/leap/soledad/client/_secrets/__init__.py index 26294364..69c9141f 100644 --- a/client/src/leap/soledad/client/_secrets/__init__.py +++ b/client/src/leap/soledad/client/_secrets/__init__.py @@ -43,7 +43,7 @@ class Secrets(EmitMixin):          'local_secret': 448,   # local_secret to derive a local_key for storage      } -    def __init__(self, uuid, passphrase, url, local_path, creds, userid, +    def __init__(self, uuid, passphrase, url, local_path, get_token, userid,                   shared_db=None):          self._uuid = uuid          self._passphrase = passphrase @@ -51,7 +51,7 @@ class Secrets(EmitMixin):          self._secrets = {}          self.crypto = SecretsCrypto(self.get_passphrase)          self.storage = SecretsStorage( -            uuid, self.get_passphrase, url, local_path, creds, userid, +            uuid, self.get_passphrase, url, local_path, get_token, userid,              shared_db=shared_db)          self._bootstrap() diff --git a/client/src/leap/soledad/client/_secrets/storage.py b/client/src/leap/soledad/client/_secrets/storage.py index 730926ee..5fde8988 100644 --- a/client/src/leap/soledad/client/_secrets/storage.py +++ b/client/src/leap/soledad/client/_secrets/storage.py @@ -33,16 +33,21 @@ logger = getLogger(__name__)  class SecretsStorage(EmitMixin): -    def __init__(self, uuid, get_pass, url, local_path, creds, userid, +    def __init__(self, uuid, get_pass, url, local_path, get_token, userid,                   shared_db=None):          self._uuid = uuid          self._get_pass = get_pass          self._local_path = local_path +        self._get_token = get_token          self._userid = userid -        self._shared_db = shared_db or self._init_shared_db(url, creds) +        self._shared_db = shared_db or self._init_shared_db(url, self._creds)          self.__remote_doc = None +    @property +    def _creds(self): +        return {'token': {'uuid': self._uuid, 'token': self._get_token()}} +      #      # local storage      # diff --git a/client/src/leap/soledad/client/api.py b/client/src/leap/soledad/client/api.py index 6a508d05..e84ba848 100644 --- a/client/src/leap/soledad/client/api.py +++ b/client/src/leap/soledad/client/api.py @@ -249,10 +249,9 @@ class Soledad(object):          """          Initialize Soledad secrets.          """ -        creds = {'token': {'uuid': self.uuid, 'token': self.token}}          self._secrets = Secrets(              self._uuid, self._passphrase, self._server_url, self._secrets_path, -            creds, self.userid, shared_db=shared_db) +            self.get_token, self.userid, shared_db=shared_db)      def _init_u1db_sqlcipher_backend(self):          """ | 
