Skip to content

Deploy tokens for PyPI and NuGet using basic auth headers

Steve Abrams requested to merge 213566-deploy-token-basic-auth into master

What does this MR do?

The PyPI and NuGet clients (Python and .NET package managers) use basic auth headers to send user credentials to the registry server (GitLab package registry). In order to allow users to use deploy tokens when working with these package managers, we need to update the API auth flow to check basic auth headers when looking for a deploy token.

This MR updates the authentication flow to check for basic auth headers and attempt to find a deploy token from them. It also enables find_user_from_deploy_token by adding the route_setting of deploy_token_allowed to the PyPI and NuGet API endpoints.

Screenshots

Does this MR meet the acceptance criteria?

Conformity

Availability and Testing

Security

If this MR contains changes to processing or storing of credentials or tokens, authorization and authentication methods and other items described in the security review guidelines:

  • Label as security and @ mention @gitlab-com/gl-security/appsec
  • The MR includes necessary changes to maintain consistency between UI, API, email, or other methods
  • Security reports checked/validated by a reviewer from the AppSec team

Related #213566 (closed)

Edited by Steve Abrams

Merge request reports