Bonsoir,
Je me lance dans l'uniformisation de tous mes API et autres moyens d'accès à ma base de données offerts à mes différentes applications clientes et mon choix s'est orienté vers une solution basée sur REST (et tout ce que ca implique).
Ce topic est ouvert dans la section Javascript car bon nombre de mes clients sont écris en Javascript, une fois qu'une solution à mon problème aura été trouvée, je pourrai sans peine la transposer ailleurs.
Je vois à peu près comment procéder pour implémenter le plus possible de recommandation REST tout en restant fonctionnel. Se pose maintenant la question de l'authentification. Vaste domaine.
En utilisant jQuery et son module AJAX, il est facile de faire des requêtes adoptant toutes les méthodes HTTP nécessaires.
Au cours de mes lectures, j'ai pu trouver des articles comme celui-ci: http://broadcast.oreilly.com/2009/12...ntication.html
Il y est fait un certain nombre de recommandations que je compte bien suivre.
REST préconisant des services sans état, on se passera d'ouvrir des sessions, notamment pour garder en mémoire une authentification d'utilisateur.
L'utilisation d'une clé (à l'image de ce que fait Google par exemple), donnée à chaque requête par le client me parait être une alternative raisonnable.
Ma question : comment réaliser la partie client?
L'auteur de l'article dont je donne le lien plus haut évoque un codage des paramètres de la requête dont la clé fait partie avant l'envoi au serveur.
Quelqu'un a-t-il déjà mis ça en place?
La clé en elle même, corrigez-moi si je me trompe, est envoyée par le champ Authorization HTTP et réceptionnée comme argument HTTP Digest par le serveur.
Est-il possible de fixer ce genre de champ avec jQuery?
Pour des questions de cuisine interne, il faudra que la clé comporte deux informations à mon sens : la clé en elle-même, ainsi qu'un identifiant de compte (pouvant correspondre à un compte machine -> pas d'interactivité pour la saisie d'un login/password sur web services).
Est-ce réalisable? Les exemples qu'on voit de clé d'API sont souvent des singletons servant à vérifier si la clé est autorisée ou pas. Dans mon cas c'est forcément attaché à une identité donc il faut le login pour la retrouver.
Si vous avez des idées pour l'envoi de la requête dans la partie Javascript, c'est avec grand plaisir.
Bonne soirée.
Partager