Authentification OAuth pour le registre de conteneurs

created: dimanche, juil. 6, 2025

Notre registre de conteneurs parle désormais le même dialecte OAuth que le reste de la plate-forme DownToZero (DTZ). Si vous émettez déjà des jetons porteurs pour n’importe quelle API DTZ, vous pouvez vous connecter à cr.dtz.rocks avec zéro configuration supplémentaire. Ce changement complète notre objectif à long terme d’une identité, un jeton, partout.

Why we added OAuth

Le registre acceptait à l’origine uniquement des clés API. Bien que ces clés restent prises en charge, elles n’offrent pas les permissions fines et les durées de vie courtes qu’apporte OAuth. Un JWT émis par le service d’identité DTZ contient des informations de rôle telles que containerregistry/admin/{context_id} et expire automatiquement, réduisant la portée d’impact en cas de fuite.

Logging in with Docker

# 1 - Request a bearer token
curl -X POST https://identity.dtz.rocks/api/2021-02-21/token/auth      -H "Content-Type: application/json"      -d '{"username":"you","password":"secret"}'

# 2 - Use that token to authenticate
docker login cr.dtz.rocks -u bearer -p YOUR_ACCESS_TOKEN

The username must literally be bearer; Docker forwards the token as the password. Behind the scenes, the registry validates the JWT using the very same logic as every other DTZ service.

Backward compatibility

Si votre pipeline CI/CD utilise déjà une clé API, rien ne casse—docker login -u apikey -p YOUR_API_KEY cr.dtz.rocks fonctionne toujours. OAuth est une mise à niveau optionnelle qui débloque des identifiants à durée de vie plus courte, un contrôle d’accès basé sur les rôles, et une rotation des secrets plus fluide.

A consistent developer experience

Parce que le registre respecte désormais les mêmes en-têtes HTTP et conventions d’authentification basique que nos points de terminaison REST, vous pouvez :

Ready to try it? Grab a token, run your next docker push, and enjoy a simpler, safer login flow.