Lorsqu'il s'agit de la “developer experience”, les API sécurisées peuvent être difficiles à tester car il faut pouvoir obtenir des token d'accès, qui sont généralement de courte durée, ainsi que des utilisateurs et des permissions qui correspondent à chaque cas de test. Il est donc tentant de compromettre la sécurité en introduisant une configuration spécifique afin de contourner tout ce qui est relatif à l'authentification et à l'autorisation et de laisser la responsabilité à quelqu'un d'autre de tester avant la prod.

Nous allons montrer qu'il est possible de simuler le protocole OpenID Connect (OIDC) en écrivant un schéma OpenAPI dans l’optique de permettre une “developer experience” plus fluide grâce à la containerisation.

Nous ferons un “live coding” en partant d'un REST endpoint “non sécurisé” écrit en Java et Quarkus qui comportera les étapes suivantes:

Introduire jakarta-security pour sécuriser l'API REST (authentication, function-level et object-level authorization), ce qui cassera les tests déjà existants. Faire en sorte que nos tests repassent au vert en simulant le protocole OIDC grâce à l'utilisation de l'extension quarkus-microcks. Connecter swagger-ui avec Microcks pour s'authentifier dans notre application lancée en dev mode, afin de tester notre API REST securisée. Deployer notre application dans un cluster Kubernetes et réutiliser la même technique pour pouvoir la tester