Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Interfaces and services for JWK management (pypi#10628)
* python-version: bump to 3.8.9 * ci, Dockerfile: bump Python versions * requirements, warehouse: dependencies, skeleton for JWKs * warehouse/oidc: format * config, oidc, utils: fill in more groundwork * warehouse: add a basic `warehouse oidc` CLI, redis caching * tasks: remove the separate OIDC queue These should be very fast, and thus don't need a separate queue. * warehouse: decompose OIDC urls a bit It makes more sense to have the OIDC_PROVIDERS map be a map of names to issuer FQDNs, so that we don't have to store that information elsewhere. * warehouse/utils: docs * warehouse: refactor JWKs to fetch on first use * tests/unit: fix config test * Update requirements/main.txt Co-authored-by: Dustin Ingram <di@users.noreply.github.com> * Apply suggestions from code review Co-authored-by: Dustin Ingram <di@users.noreply.github.com> * warehouse: refactor JWKService Adds a service factory for creating per-provider services. * oidc/services: appease flake8 * warehouse: add metrics to JWKService, rewrite CLI * warehouse/cli: remove oidc subcommand This is no longer useful. * warehouse: rename JWKService to OIDCProviderService, refactor * warehouse/oidc: fix init * warehouse: remove oidc.utils, refactor * warehouse/oidc: re-add provider attribute * tests: unit tests for warehouse.oidc.services Fixes small bugs in the process. Co-authored-by: Dustin Ingram <di@users.noreply.github.com>
- Loading branch information