Create token generator classes and a registry for them

Review Request #12415 — Created June 24, 2022 and submitted — Latest diff uploaded

Information

Djblets
release-3.x

Reviewers

Currently, Djblets can only generate SHA1 tokens and token generation is
baked into djblets.webapi.managers.WebAPITokenManager. As part of our move to
using an improved token format (API Tokens v2), we need a way to generate
different types of tokens.

This change introduces token generators, which handle the logic for token
generation and allows for multiple ways of generating tokens. There are three
classes implemented:
1. A base class.
2. A class for generating our legacy SHA1 tokens.
3. A class for generating our new token format that has a vendor prefix and
checksum.

This also adds a registry for the token generators.

  • Created unit tests for the token generators.
  • Ran all unit tests in djblets.secrets.tests.

Changes between revision 7 and 8

orig
1
2
3
4
5
6
7
8
9
10

Commits

Summary ID Author
Create Token Generator classes and registry
caa42c5ea2fc4c2b5e0710d4937ef97561082609 Michelle Aubin
Create Token Generator classes and registry
a02662bff38fabcdc8c69fc3ca6cae745af32516 Michelle Aubin
djblets/secrets/tests/test_legacy_sha1_token_generator.py
djblets/secrets/tests/test_vendor_checksum_token_generator.py
djblets/secrets/token_generators/base.py
djblets/secrets/token_generators/legacy_sha1.py
djblets/secrets/token_generators/registry.py
djblets/secrets/token_generators/vendor_checksum.py
Loading...