diff --git a/pantalaimon/daemon.py b/pantalaimon/daemon.py index f6df15b..4c8551f 100755 --- a/pantalaimon/daemon.py +++ b/pantalaimon/daemon.py @@ -101,6 +101,7 @@ class ProxyDaemon: accounts = self.store.load_users(self.name) for user_id, device_id in accounts: + token = False if self.conf.keyring: try: token = keyring.get_password( @@ -108,7 +109,7 @@ class ProxyDaemon: ) except RuntimeError as e: logger.error(e) - else: + if not token: token = self.store.load_access_token(user_id, device_id) if not token: @@ -570,6 +571,7 @@ class ProxyDaemon: self.pan_clients[user_id] = pan_client + token_stored = False if self.conf.keyring: try: keyring.set_password( @@ -577,9 +579,10 @@ class ProxyDaemon: f"{user_id}-{pan_client.device_id}-token", pan_client.access_token, ) + token_stored = True except RuntimeError as e: logger.error(e) - else: + if not token_stored: self.store.save_access_token( user_id, pan_client.device_id, pan_client.access_token )