We started implementing keycloak authentication in the deposit [1]
While the initial attempt is working, it's not enough.
To iterate over this work, that will need some more code which is actually already present in swh-web.
So we need to bootstrap a new module swh-auth which moves that common code there.
We (@anlambert and i) see 2 modules for it:
- swh.auth which generically wraps the keycloak dependency collaborator classes/functions
- swh.auth[django] Optional dependency on django
Bonus point for moving the current swh-web-client cli which generates token in that new module (
but that's not an immediate concern).
Deliverable:
- 1 new module (with shared code and pytest fixture(s)): swh.auth, swh.auth[django], swh.auth[testing])
- jenkins builds (tests, pypi, debian)
- 3 debian packages (python3-swh.auth and python3-swh.auth.django, python3-swh.auth.pytestplugin)
[1] https://forge.softwareheritage.org/D5137