Opérations en Hors ligne - Version imprimable +- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org) +-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38) +--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51) +--- Sujet : Opérations en Hors ligne (/showthread.php?tid=1357) |
RE: Opérations en Hors ligne - Sephi-Chan - 05-05-2011 Bon, j'ai fais une petite check liste pour faire de cet outil un service en ligne. Pour commencer, il faut ajouter un système d'authentification. Je compte utiliser 3 clés : une API key, une secret key et une publish key. Toutes les queues auront l'API key comme scope, histoire de simplifier extrêmement les conflits de nommage (et de s'épargner plein de tests). La publish key sera envoyées (dans un header) dans les notifications de fin de construction pour que le client puis s'assurer que c'est bien le service de notification qui l'envoie. Enfin, la secret key devra être envoyée par le client (dans un header, là aussi) quand il enverra des commandes au service. Ça devrait pouvoir être sympa ! RE: Opérations en Hors ligne - nicodd - 05-05-2011 Si les clés publique et privée circulent telles quelles, quelle est la plus value en terme de sécurité ? RE: Opérations en Hors ligne - Sephi-Chan - 05-05-2011 Il n'y a pas de couple clé publique/clé privée. Ici, les clés sont uniquement échangées entre le serveur qui héberge le jeu et le service. Du site vers le service, c'est la secret key qui est envoyée : bonjour service, je suis bien le jeu que je prétends être car je connais la clé qu'on partage. Du service vers le site, c'est la publish key : bonjour site, je notifie que l'opération est terminée et je te montre que je suis bien le service car je connais la clé qu'on partage. Ça me semble honnête même si je suis à l'écoute d'un potentiel meilleur système. RE: Opérations en Hors ligne - Myrina - 06-05-2011 Pourquoi ne pas faire: Citation :Du site vers le service, c'est la secret key qui est envoyée : bonjour service, je suis bien le jeu que je prétends être car je connais la clé qu'on partage ainsi qu'un identifiant unique généré par le site.Il faut, au préalable, convenir d'un algorithme de hashage commun. RE: Opérations en Hors ligne - Sephi-Chan - 06-05-2011 Quel est l'interet de cette approche ? RE: Opérations en Hors ligne - Myrina - 06-05-2011 - avoir un moyen pour le site de corréler la réponse avec une de ses demandes - garantir au site que c'est bien le service qui répond et non un usurpateur RE: Opérations en Hors ligne - atra27 - 06-05-2011 en faisant un md5 de verrif des données concaténé avec la clé, ainsi la clée n'est jamais envoyée seule et en clair! de plus on ajoute un moyen de vérifier a la fois l'intégrité des données recues en clair et authentifier le service! Simple non? RE: Opérations en Hors ligne - niahoo - 06-05-2011 oui mais sans cryptage ça revient au même .. envoyer une clé ou un hash de la clé plus quelque chose d'autre, si quelqu'un intercepte ces données il peut toujours en envoyer d'autres sinon des clés publique/privée genre SSH mais j'ai toujours pas pigé le principe de base. RE: Opérations en Hors ligne - Tyc - 06-05-2011 Bonjour, J'ai lu attentivement votre discussion et je me posais une question. J'ai découvert aujourd'hui Node.js et ai regardé quelques tutoriaux à propos. Je n'ai pas encore testé. N'est-il pas possible de réaliser un système de queue (pour la construction de bâtiments par exemple) uniquement avec Node.js? Je voyais la chose comme suit : - Le navigateur effectue une requête en ajax par exemple vers l'url et le port écoutés par Node et exécute la fonction qui va bien. - Cette fonction reçoit divers paramètres dont le temps nécessaire à la construction. - A la fin du timer, Node se charge d'appeler un script php qui va mettre à jour la base de données. - Dans le navigateur, dans le cas où l'utilisateur ne l'a pas fermé, un éventuel compte à rebours en js arrive au terme, effectue une requête Ajax et vérifie que le bâtiment a bien été construit. Si oui l'affichage change. Voilà, ce sont sans doute des interrogations de débutant car je le suis en matière de jeux. C'est une approche complètement différente de la programmation que je fais au quotidien ( je suis développeur de site web en agence ) aussi j'espère que vous prendrez le temps d'éclairer ma lanterne ! Merci d'avance RE: Opérations en Hors ligne - Sephi-Chan - 07-05-2011 J'avais pensé à adopter l'approche de Facebook, à savoir un paramètre qui est juste une chaîne encodée (que le site et/ou le service est capable de décoder), mais tout ça me semble bien compliqué pour si peu. Les clés dont je parle sont échangées entre 2 serveurs : ça ne se spoof pas aussi facilement qu'un ordinateur ! Et HTTPS arrangera le reste. @ Tyc (bienvenue, au passage) : ton approche est globalement celle que j'ai choisie, à quelques différences près :
Voilà, voilà, j'espère que ma réponse t'aura éclairé sur les intérêts d'un service qui en sait peu et qui est capable de stocker. |