Make clients identify themselves against server

prep for potential later async auth system. Wanted to get this into the 2.3 client update.
This commit is contained in:
Fabian Dill
2020-06-04 21:27:29 +02:00
parent dac3c0ca29
commit d25973989a
2 changed files with 17 additions and 2 deletions

View File

@@ -226,6 +226,9 @@ def persistent_store(category, key, value):
def persistent_load() -> typing.Dict[dict]:
storage = getattr(persistent_load, "storage", None)
if storage:
return storage
path = local_path("_persistent_storage.yaml")
storage: dict = {}
if os.path.exists(path):
@@ -237,6 +240,7 @@ def persistent_load() -> typing.Dict[dict]:
logging.debug(f"Could not read store: {e}")
if storage is None:
storage = {}
persistent_load.storage = storage
return storage
@@ -244,3 +248,14 @@ class ReceivedItem(typing.NamedTuple):
item: int
location: int
player: int
def get_unique_identifier():
uuid = persistent_load().get("client", {}).get("uuid", None)
if uuid:
return uuid
import uuid
uuid = uuid.getnode()
persistent_store("client", "uuid", uuid)
return uuid