Comment mettre en œuvre un premier temps uniquement schéma de connexion pour une application web mobile mis en œuvre avec jQuery Mobile, PhoneGap, et Django?
Je suis au début (pré-codage) les étapes de développement d'une application web mobile à l'aide de jQuery Mobile (nous avons regardé Sencha Touch pour quelques semaines, mais jQuery Mobile est un meilleur ajustement pour notre équipe de compétences). Je termine le jQuery Mobile application web avec PhoneGap pour créer un iPhone, iPod touch et iPad native-ish application. J'utilise Django pour nos applications web donc l'intention de faire la même chose ici pour le côté serveur, avec une sorte de JSON/Ajax/RESTE de flux de données pour l'interface entre l'application mobile et le serveur. Puisque c'est un mobile uniquement sur demande, nous devrions avoir accès à tous les HTML5 genre de choses.
Alors que je suis susceptible de venir avec d'autres problèmes/questions pour cette mise en œuvre, voici ma question/problème:
J'ai besoin de configurer l'application afin que la première fois que l'utilisateur ouvre l'application, ils doivent entrer un nom d'utilisateur et le mot de passe pour s'authentifier. Par la suite, l'utilisateur ne devrait pas avoir à s'authentifier à moins que l'utilisateur clique sur un "lien de" ce qui leur donne une page pour s'authentifier avec un autre compte ou mot de passe. La demande doit toujours s'authentifier sur le serveur à chaque fois qu'il est commencé, en utilisant le nom d'utilisateur et mot de passe qui a été initialement saisi, afin de s'assurer que le compte n'est pas désactivé ou le mot de passe changé ou quelque chose.
Je suis assez nouveau dans les schémas d'authentification. Que dois-je faire?
OriginalL'auteur Ben Roberts | 2011-06-04
Vous devez vous connecter pour publier un commentaire.
Je vous conseille contre le stockage en local HTML5/de stockage web. Si vous utilisez iOS PhoneGap, je vous conseille d'utiliser le Trousseau Plugin:
http://blogs.nitobi.com/shazron/2010/11/06/ios-keychain-plugin-for-phonegap/
Nous nous sommes retrouvés à l'aide de votre plugin et sa a fonctionné jusqu'à présent. (Je crois que mon collègue a envoyé un msg de vous poser une question, que vous gentiment répondues). Alors que nous avons compris à l'aide de localStorage ne serait pas la fin du monde, étant donné la façon dont les applications sont emballés et la façon dont nous avons l'intention de limiter la distribution, mais est allé avec le trousseau de clés pour faire de la bonne façon!
(Notez que c'est seulement sur iOS, et n'aurait pas de travail pour d'autres PhoneGap déploiements)
OriginalL'auteur Shazron
Bien que vous n'allez pas avec Sencha Touch, il y a un assez bon aperçu des questions à L'Authentification HTTP.
Comme pour stocker les informations d'authentification après une première connexion, vous pourriez essayer de local de stockage ou d'un cookie (bien que vous pourriez avoir besoin d'utiliser PhoneGap pour activer cookies de stockage). HTML5 fournit également clé-valeur client local de stockage. Si les cookies d'authentification travail, je pense que cela pourrait être gérée automatiquement pour vous; sinon, vous pourriez mettre en œuvre un
document.ready
vérification d'authentification dans un appel Ajax à l'aide de données d'authentification de stockage local (ou de stockage crypté).OriginalL'auteur A Lee
Le Trousseau solution ne fonctionne que sur les appareils iOS, donc si c'est votre seule cible que vous êtes bien.
Mais qu'en est-il des autres? Type de déchets à l'aide de PhoneGap, mais alors ils ne se déploient qu'à un cadre...
Je sais localStorage est pas sécurisé, mais si vous êtes conscient des limites il y a des façons de le rendre un peu moins "évident".
Voici la jQuery.handleStorage plugin qui gère également le chiffrement AES... Tu risque d'avoir un coup d'oeil à la source et de mettre en œuvre uniquement les pièces dont vous avez besoin (dans le cas où vous ne souhaitez pas utiliser l'ensemble du plugin, qui prend également en charge les navigateurs de bureau!).
PS: je ne suis pas affilié en aucune manière à ce plugin, ou l'auteur
OriginalL'auteur Leon
C'était l'une des questions brûlantes que j'ai eu quand j'ai commencé le développement mobile avec PhoneGap. Laissez-moi vous expliquer ce que je fais pour passer à travers.
Lorsque les utilisateurs essaient de se connecter pour qu'il/elle a entre le nom d'utilisateur et le mot de passe qui sera envoyé par l'intermédiaire d'un appel de service web pour le côté serveur. Si l'authentification est réussie émettre un jeton de l'utilisateur et de l'enregistrer sur le serveur pour l'avenir de la communication. L'utilisateur reçoit le jeton et il sera enregistré dans le local de stockage ou quel que soit le mécanisme que vous préférez.
Maintenant pour l'avenir de la communication utiliser le jeton, le jeton sera passé avec la chaque appel de service web pour le côté serveur où le serveur de s'authentifier si le jeton est un jeton valide émis par le serveur. Vous pouvez invalider le jeton par toutes les 72 heures ou 48 heures avant votre exigence(ou pas expirant). Une fois le jeton est invalidé, vous avez qu'à vous connecter et d'obtenir un nouveau jeton.
Espère que cela résoudre votre problème.
OriginalL'auteur Techie
Essayer L'Authentification HTTP avec les Formulaires HTML et voir si ça aide.
OriginalL'auteur Frantzdy Romain
Il dit d'inclure un fichier PHP dans le fichier HTML, mais je ne suis pas sûr si PhoneGap fonctionne avec PHP. J'ai juste commencé à l'aide de PhoneGap ce week-end.
On m'a dit pour stocker le fichier PHP à l'intérieur de votre serveur, puis utiliser AJAX pour faire des transactions.
OriginalL'auteur Frantzdy Romain