Me gustaría configurar un registro acoplable que permita extracciones anónimas pero autentique las inserciones.
Mi enfoque ingenuo fue permitir obtener solicitudes. Pero eso parece romper el inicio de sesión ya que el cliente solo crea las credenciales si la solicitud Get inicial a /v2/ produce un 401.
Sin embargo, las lecturas del repositorio también comienzan con eso, por lo que tampoco puedo poner esto detrás de la autenticación.
Básicamente, parece que tendría que distinguir entre un ping antes de un tirón y un ping antes de iniciar sesión.
También estoy feliz de configurar la autenticación de token. Pero eso probablemente se toparía con el mismo enigma.
Aparentemente, el camino a seguir es configurar la autenticación de token.
Luego, puede devolver un token válido para la extracción del alcance, incluso si no se proporcionó una autenticación básica.
Puede encontrar un código de ejemplo en https://github.com/cloudfleet/floating-dock/blob/master/app/controllers/api/v1/jwt_controller.rb y https://github.com/cloudfleet/floating-dock /blob/master/app/services/auth/container_registry_authentication_service.rb
Es una versión adaptada de la implementación de GitLabs JWT para el registro.