5.7. Délégation d'authentification par clés d'API

Bugzilla fournit pour les applications Web un mécanisme permettant de demander (avec l'accord de l'utilisateur) une clé d'API. Les clés d'API permettent aux applications Web de réaliser toute action en se faisant passer pour l'utilisateur, ce qui est par conséquent très puissant. Pour cette raison, cette fonctionnalité est désactivée par défaut.

5.7.1. Flux d'authentification

Le processus d'authentification débute en redirigeant l'utilisateur sur la page auth.cgi du site Bugzilla. Dans cet exemple, l'URL de notre application sera http://app.example.org et celle du site Bugzilla http://bugs.example.org.

  1. Fournir un lien ou rediriger l'utilisateur vers http://bugs.example.org/auth.cgi?callback=http://app.example.org/callback&description=app%description
  2. En présumant que l'utilisateur est d'accord, il sera redirigé vers http://app.example.org/callback à l'aide d'une requête GET avec deux paramètres additionnels : client_api_key et client_api_login.
  3. Enfin, vérifier que la clé d'API et l'identifiant de connexion sont valides, en utilisant la ressource REST Connexion valide.

Votre application doit être en mesure de recevoir un utilisateur sur l'URL de retour précédemment définie. La méthode la plus simple est de s'assurer que l'url de retour ait toujours le nom d'hôte et le chemin que vous avez définis, avec pour seule partie variable les paramètres de chaîne de requête.

La description doit contenir le nom de votre application, dans une forme reconnaissable pour les utilisateurs. La description est définie dans la page de Préférences API Keys tab.

La clé d'API passée à la page de retour sera valide jusqu'à ce que l'utilisateur la révoque.