Je construis une application iPhone qui parle à un backend Ruby on Rails. L'application Ruby on Rails servira également les utilisateurs Web. Le plugin restful_authentication est un excellent moyen de fournir une authentification utilisateur rapide et personnalisable. Cependant, je voudrais que les utilisateurs de l'application iPhone aient un compte créé automatiquement par l'identifiant unique du téléphone ([[UIDevice device] uniqueIdentifier]) stocké dans une nouvelle colonne. Plus tard, lorsque les utilisateurs sont prêts à créer un nom d'utilisateur/mot de passe, le compte sera mis à jour pour contenir le nom d'utilisateur et le mot de passe, laissant l'identifiant unique de l'iPhone intact. Les utilisateurs ne devraient pas pouvoir accéder au site Web tant qu'ils n'ont pas configuré leur nom d'utilisateur/mot de passe. Ils peuvent cependant utiliser l'application iPhone, car l'application peut s'authentifier en utilisant son identifiant.Quelle est la meilleure façon d'étendre restful_authentication/AuthLogic pour prendre en charge les connexions paresseuses par un iPhone anonyme?
Quelle est la meilleure façon de modifier restful_authentication pour ce faire? Créer un plugin? Ou modifier le code généré?
Qu'en est-il des cadres alternatifs, tels que AuthLogic. Quel est le meilleur moyen de permettre aux iPhones d'obtenir un jeton d'authentification généré verrouillé sur leurs UUID, mais de laisser ensuite l'utilisateur créer un nom d'utilisateur/mot de passe plus tard?
Pas vraiment une réponse, mais quelque chose de plus à penser: comment votre design peut gérer le cas où quelqu'un a un compte iphone, enregistre un compte utilisateur/mot de passe sur le site de manière indépendante, et veut fusionner les deux comptes? – Stobor
J'ai réfléchi un peu plus à ce problème, et même si je n'ai pas encore trouvé de solution satisfaisante, j'ai essayé quelques petites choses. La création d'un compte anonyme avec un nom d'utilisateur/mot de passe aléatoire lié à un objet Device fonctionne quelque peu. Cependant, cela nécessite que le périphérique obtienne le nom d'utilisateur/mot de passe lors de sa création et le stocke. Le problème avec cette solution est que le site est alors jonché de contributions de compte anonymes (facilement réparable en ayant un champ de type de compte dans l'utilisateur appelé anonyme, que vous pouvez ensuite filtrer si nécessaire). Cette solution fonctionne mais n'est pas géniale. –