Lors de la conception d'une API pour notre application web, nous allons utiliser la leur sous-domaine comme le 'nom d'utilisateur' et de générer une clé API/secret partagé. Tout d'abord, est-il ok pour utiliser le sous-domaine que le nom d'utilisateur? Je ne vois pas l'avantage de créer une autre clé.
Api différentes semblent faire une de deux choses:
- Utiliser l'Authentification HTTP de Base avec SSL
Dans chaque demande le nom d'utilisateur est configuré pour le sous-domaine et le mot de passe de la clé API. Puisque nous utilisons le protocole SSL alors ce devrait être à l'abri de la mystification.
Notable Api: Google Checkout, Freshbooks, GitHub, Zendesk
- Créer une Signature de la Demande avec le Secret Partagé
Normalement réalisée par la commande de l'paires clé/valeur et l'utilisation de HMAC-SHA1 avec le secret partagé pour générer la signature. La signature est alors envoyé avec la demande et vérifiées à l'autre extrémité.
Notable Api: Google Checkout, Amazon AWS
PS: c'est pas d'erreur, Google Checkout prend en charge à la fois
Edit: Viens de lire que OAuth 2 est en baisse de signatures en faveur de l'envoi d'un nom d'utilisateur/mot de passe via le protocole SSL.
Toutes les opinions de quelqu'un sur ce qu'il faut chercher: SSL vs Signature?