5 votes

Connexion Facebook sur l'iPhone. Authentification avec le backend de Rails (Devise+Omniauth)

J'essaie d'implémenter une authentification de l'utilisateur facebook dans mon application iOS6 à travers mon backend Rails fonctionnant avec Devise en utilisant omniauth. Je cherche un guide étape par étape pour configurer mon API et Devise + Authentification.

Je n'ai qu'une connaissance approximative de la façon de faire.

  1. (sur App) vérifier si l'utilisateur se connecte à son facebook sur iPhone
  2. L'iPhone est authentifié côté client sur Facebook. FB me transmet son jeton d'authentification mobile
  3. J'envoie mon jeton d'authentification ou mon hachage d'authentification à mon backend rails via API RESTful SSL.
  4. Rails reçoit le Token et vérifie s'il est valide. ( Quelle commande utilise le moins de trafic contre FB Graph API ? avec Koala Gem)
  5. Si elle est valide. Vérifier si l'utilisateur existe déjà. Si non, créez un nouvel utilisateur.
  6. Créez une nouvelle session.

Est-ce correct ?

Existe-t-il de bons exemples ?

Merci beaucoup.

7voto

tyler Points 2823

Je ne suis pas familier avec le morceau d'iPhone, mais votre approche après cela est généralement exacte. La seule exception est que vous utiliseriez typiquement provider + uid pour trouver ou créer un utilisateur, plutôt qu'un jeton. C'est peut-être ce que vous vouliez dire par votre numéro 5, mais ce n'était pas clair pour moi.

En outre, il existe un bon Railscast (payant) sur le sujet d'Omniauth + Devise, qui vaudrait probablement le prix pour vous :

http://railscasts.com/episodes/235-devise-and-omniauth-revised

Il couvre la manière dont vous pouvez recevoir et traiter le hash d'authentification, et vous donne un bon point de départ pour ce à quoi vos méthodes ressembleront.

1voto

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X