v7.2.0: Use new format for new tokens
This commit is contained in:
parent
d8043414a8
commit
28892e8ff3
|
@ -23,10 +23,6 @@ repos:
|
||||||
hooks:
|
hooks:
|
||||||
- id: pyupgrade
|
- id: pyupgrade
|
||||||
args: [--py37-plus]
|
args: [--py37-plus]
|
||||||
- repo: https://github.com/asottile/setup-cfg-fmt
|
|
||||||
rev: ce506f9063be3e882d391cdf7b6a3d5f8359add8 # frozen: v1.20.1
|
|
||||||
hooks:
|
|
||||||
- id: setup-cfg-fmt
|
|
||||||
- repo: https://github.com/jackdewinter/pymarkdown
|
- repo: https://github.com/jackdewinter/pymarkdown
|
||||||
rev: be56696256d5491e8a907b72e5a3852034546adb # frozen: v0.9.5
|
rev: be56696256d5491e8a907b72e5a3852034546adb # frozen: v0.9.5
|
||||||
hooks:
|
hooks:
|
||||||
|
|
|
@ -3,7 +3,7 @@ pipeline:
|
||||||
group: test
|
group: test
|
||||||
image: python:3.7-alpine
|
image: python:3.7-alpine
|
||||||
commands:
|
commands:
|
||||||
- pip install pipenv==2022.9.4
|
- pip install pipenv==2022.10.25
|
||||||
- pipenv install --dev --deploy
|
- pipenv install --dev --deploy
|
||||||
- pipenv run almake test-pytest # We only test with pytest on 3.7
|
- pipenv run almake test-pytest # We only test with pytest on 3.7
|
||||||
|
|
||||||
|
@ -22,7 +22,7 @@ pipeline:
|
||||||
group: test
|
group: test
|
||||||
image: python:3.9-alpine
|
image: python:3.9-alpine
|
||||||
commands:
|
commands:
|
||||||
- pip install pipenv==2022.9.4 pre-commit==2.22.0
|
- pip install pipenv==2022.10.25 pre-commit==2.22.0
|
||||||
- pre-commit run --all-files
|
- pre-commit run --all-files
|
||||||
- pipenv install --dev --deploy
|
- pipenv install --dev --deploy
|
||||||
- pipenv run almake test
|
- pipenv run almake test
|
||||||
|
@ -33,7 +33,7 @@ pipeline:
|
||||||
group: test
|
group: test
|
||||||
image: python:3.10-alpine
|
image: python:3.10-alpine
|
||||||
commands:
|
commands:
|
||||||
- pip install pipenv==2022.9.4 pre-commit==2.22.0
|
- pip install pipenv==2022.10.25 pre-commit==2.22.0
|
||||||
- pre-commit run --all-files
|
- pre-commit run --all-files
|
||||||
- pipenv install --dev --deploy
|
- pipenv install --dev --deploy
|
||||||
- pipenv run almake test
|
- pipenv run almake test
|
||||||
|
|
|
@ -7,6 +7,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
||||||
|
|
||||||
## [Unreleased]
|
## [Unreleased]
|
||||||
|
|
||||||
|
## [7.2.0 - 2022-11-01]
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
|
||||||
|
- Use new format for new tokens.
|
||||||
|
|
||||||
## [7.1.2 - 2022-11-01]
|
## [7.1.2 - 2022-11-01]
|
||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
"""SporeStack API and CLI for launching servers with Bitcoin or Monero"""
|
"""SporeStack API and CLI for launching servers with Monero or Bitcoin"""
|
||||||
|
|
||||||
__all__ = ["api", "api_client", "exceptions"]
|
__all__ = ["api", "api_client", "exceptions"]
|
||||||
|
|
||||||
__version__ = "7.1.2"
|
__version__ = "7.2.0"
|
||||||
|
|
|
@ -14,7 +14,7 @@ def checksum(to_hash: str) -> str:
|
||||||
|
|
||||||
def random_machine_id() -> str:
|
def random_machine_id() -> str:
|
||||||
"""
|
"""
|
||||||
These used to be 64 hex characters. Now they have a new format.
|
Machine IDs have a 32 character format with a checksum.
|
||||||
"""
|
"""
|
||||||
to_hash = f"ss_m_{secrets.token_hex(11)}"
|
to_hash = f"ss_m_{secrets.token_hex(11)}"
|
||||||
return f"{to_hash}_{checksum(to_hash)}"
|
return f"{to_hash}_{checksum(to_hash)}"
|
||||||
|
@ -22,6 +22,7 @@ def random_machine_id() -> str:
|
||||||
|
|
||||||
def random_token() -> str:
|
def random_token() -> str:
|
||||||
"""
|
"""
|
||||||
64 hex characters.
|
Tokens have a 32 character format with a checksum.
|
||||||
"""
|
"""
|
||||||
return secrets.token_hex(32)
|
to_hash = f"ss_t_{secrets.token_hex(11)}"
|
||||||
|
return f"{to_hash}_{checksum(to_hash)}"
|
||||||
|
|
|
@ -7,5 +7,11 @@ def test_random_machine_id() -> None:
|
||||||
assert utils.random_machine_id().startswith("ss_m_")
|
assert utils.random_machine_id().startswith("ss_m_")
|
||||||
|
|
||||||
|
|
||||||
|
def test_random_token() -> None:
|
||||||
|
assert utils.random_token() != utils.random_token()
|
||||||
|
assert len(utils.random_token()) == 32
|
||||||
|
assert utils.random_token().startswith("ss_t_")
|
||||||
|
|
||||||
|
|
||||||
def test_hash() -> None:
|
def test_hash() -> None:
|
||||||
assert utils.checksum("ss_m_1deadbeefcafedeadbeef1") == "0892"
|
assert utils.checksum("ss_m_1deadbeefcafedeadbeef1") == "0892"
|
||||||
|
|
Loading…
Reference in New Issue