2010-03-05 2 views
2

Créer une API ici et je veux que les gens puissent faire des applications mobiles simples qui pourraient obtenir le nom d'utilisateur/mot de passe de mes utilisateurs et de qu'ils vont interagir avec mon serveur. Donc j'ai besoin d'une authentification de base (OAuth et d'autres choses vont aussi être supportées, surtout pour un cas d'utilisation différent). À l'heure actuelle, j'ai un exemple d'un livre disant que je pouvais juste recevoir le mot de passe (non crypté) dans le post et regarder les API réussies. Je vois que twitters obtient des mots de passe non cryptés sur les en-têtes de leur requête HTTP.Quel est le meilleur moyen d'obtenir des mots de passe pour l'authentification de base dans une API et pourquoi?

Une autre option serait d'obtenir des hachages md5 ou SHA1, mais sans sel secret, cela semble être un exercice futile. J'ai demandé à quelques personnes et tout le monde avait un point de vue différent (fort et heuristique), donc ...

Quelle est la meilleure façon d'obtenir des mots de passe pour l'authentification de base dans une API et pourquoi?

Répondre

1

Uh, ne pas ne pas donner les mots de passe de vos utilisateurs à d'autres applications. Ou via votre API. Ou jamais. Ils devraient être stockés dans un sens de toute façon (c'est-à-dire hachés). Mais je ne suis pas sûr si c'est ce que vous dites. Vous parlez de OAuth (que vous pouvez utiliser pour générer des jetons qui permettent aux API d'accéder à divers composants de votre système, car l'utilisateur dit que c'est possible). Par exemple, si vous souhaitez autoriser les utilisateurs d'API à interroger certaines propriétés d'utilisateurs (par exemple, leur emplacement), vous créez un jeton pour cet accès via OAuth, et l'appelant API le transmet. Au moins, c'est ma compréhension du modèle. Évidemment, vous devriez passer en revue le webside d'OAuths, et trouver une implémentation appropriée pour votre langue donnée.

+0

Je ne veux pas donner de mots de passe, je veux obtenir des informations d'identification afin que les gens puissent par exemple publier de nouvelles informations liées à leurs comptes. OAuth est inutile pour une application mobile, parce que je veux que les créateurs d'applications tierces puissent demander un nom d'utilisateur/mot de passe et c'est tout. Avec OAuth, vous avez besoin d'une interaction de l'utilisateur (pour permettre la création du jeton) ou de toute façon recevoir le mot de passe. – DFectuoso

+0

@DFectuoso Avez-vous lu ceci: http://hueniverse.com/2007/10/beginners-guide-to-oauth-part-ii-protocol-workflow/ il gère le flux que vous voulez, et je ne vois pas l'application étant basée sur le mobile devrait faire la différence. –

Questions connexes