Je développe un service web REST avec Scala et LIFT et n'ai pratiquement aucune bonne idée sur la façon d'authentifier un client. Je pensais à une authentification HTTP standard, mais j'ai découvert qu'il est très peu sécurisé car il transmet des mots de passe sur un réseau en texte brut codé en b64. Alors, comment dois-je faire mieux?Comment authentifier un client du service Web Lift REST?
Répondre
Si vous voulez que l'authentification soit sécurisée contre le fait d'être observée pendant le transport, votre seule option réaliste est HTTPS. Techniquement, il existe des protocoles d'échange de clés comme Diffie-Hellman, mais ils ne sont pas largement supportés.
Mais le problème de l'observation des paquets en vol est presque inexistant. Dans un réseau local partagé, il est possible, mais pas nécessairement facile, d'utiliser un robinet comme FireSheep - mais il serait généralement plus facile et plus efficace de marcher jusqu'à l'ordinateur du gars et d'installer un enregistreur de frappe.
L'authentification de base transmettra le mot de passe et le nom d'utilisateur dans un texte (presque) clair. Si vous utilisez l'authentification Digest à la place, elle sera toujours sujette à l'écoute indiscrète, mais vous devriez être plus à l'abri du vol de mot de passe et de la reprise de session. Ce chapitre dans Exploring Lift contient des informations sur l'authentification Digest dans l'ascenseur:
Mais ils suggèrent l'envoi en état, je préférerais rester apatride si possible. – Ivan
- 1. Ecriture du client du service Web REST
- 2. Connexion au site Web du client REST
- 3. Comment authentifier un service Web reposant à l'aide d'oAuth
- 4. Le service Lift REST ne reconnaît pas la requête PUT
- 5. ASP.NET Authentifier application Web avec service WCF
- 6. Comment authentifier XMLRPC :: Client
- 7. Comment authentifier un client tout en consommant le service Web WCF?
- 8. Linq2Xml Parse Sortie du service Web REST
- 9. Android: service Web REST
- 10. Quelle est la bonne façon d'envoyer un fichier du service Web REST au client?
- 11. Comment faire pour déboguer une console dans un service Web Lift?
- 12. Comment utiliser un service Web REST dans Silverlight 5?
- 13. Authentification web service rest java
- 14. Comment authentifier un client Windows Mobile en appelant des services Web dans une application Web
- 15. Service Web REST avec asp.net
- 16. Détails du client dans le service Web
- 17. Comment distinguer quel format un client demande à mon service Web REST?
- 18. Utilisation du service Web asp.net côté client
- 19. Appel du service Web REST via java class
- 20. comment faire l'authentification dans le service Web REST?
- 21. Client REST pour l'API CollectiveAccess
- 22. Scaffolding/Mocking un service REST pour le développement côté client
- 23. authentification du client de service Web
- 24. Service Web REST avec Netty
- 25. Client du service Web en Perl
- 26. tests unitaires REST client - se moquer du service
- 27. Consommation du service REST avec .NET 4 Client Profile
- 28. REST Service Web Format JSON
- 29. service Web côté client
- 30. Appel de service Web timeout du côté client
+2 pour HTTPS, -1 pour minimiser la menace du texte en clair :-) S'il doit être super sécurisé, et vous avez un moyen sécurisé Pour pré-partager des clés avec des clients, l'authentification mutuelle avec des certificats que vous obtenez vous-même est complètement standard et aussi sécurisé que vous le faites. – Szocske
@Szocske - si quelqu'un peut pointer vers des pertes dues à l'interception de texte clair totalisant, oh, 0,1% des pertes de mots de passe mal gérés (ou keyloggers ou phishing ou une demi-douzaine d'autres vrais problèmes), je vais arrêter minimisant la menace. Jusque-là, je prendrai le net +1 là où je peux. – Malvolio
Vous êtes les bienvenus sur le net +1 :-) Rappelez-vous juste zéro point epsilon pour cent, c'est encore beaucoup de gens réels et de vraies souffrances à "l'échelle Internet" où votre base d'utilisateurs peut être des millions. Avec les cybercafés, le wifi gratuit et les régimes oppressifs, il est impoli de ne pas fournir une option sûre pour ceux qui gardent leurs machines propres des vecteurs à 99,9%. – Szocske