Question

fait quelqu'un testé - authlogic fonctionnera avec oauth-plugin ( https://github.com/pelle / oauth-plugin ) ou pas?

Était-ce utile?

La solution

La réponse courte est non . J'intègre actuellement le fournisseur de services de oauth-plugin avec mon propre système d'authentification (qui est antérieur à authlogic , actes_as_authenticated et tout le reste).

Le fournisseur de services

oauth-plugin fonctionne au moyen d'un générateur de code générant deux contrôleurs, qui sont ensuite liés à certains fichiers de bibliothèque du plug-in. Tous ces fichiers attendent une méthode de classe login_required avec la même sémantique que celle utilisée par acts_as_authenticated .

authlogic ne fait aucune hypothèse à propos de vos contrôleurs. Par conséquent, cela ne fonctionnera pas immédiatement avec oauth-plugin , mais cette décision de conception signifie également être assez facile à structurer vos contrôleurs de la manière attendue. Par conséquent, il devrait être (peut-être trivialement) facile de construire un shim pour supporter le oauth-plugin .

Cependant, dans mon cas, j'ai décidé de lancer le générateur, puis d'extraire ce dont j'avais besoin du plugin et de supprimer le plugin lui-même. La raison principale pour laquelle je le fais est que je n’ai pas explicitement la méthode login_required dans mon système auth, il me faudrait donc appliquer un correctif à la bibliothèque pour que cela fonctionne. Deuxièmement, il y a beaucoup de choses dans le plugin dont je n'ai pas besoin. Troisièmement, la plupart des éléments au niveau de la bibliothèque ont déjà été résumés dans le oauth gem proprement dit, de sorte que les éléments stockés dans le répertoire oauth-plugin lib se trouvent dans ce répertoire. bizarre qu'aucun homme ne se pose entre le code généré et la bibliothèque réelle.

Autres conseils

Je suis en train de faire en sorte que cela fonctionne maintenant. Je viens de me lancer moi-même en utilisant les méthodes authlogic pour le faire bien jouer. (J'essaie de faire fonctionner un fournisseur, afin que l'authlogic-oauth ne me semble pas adapté)

Je modifierai au fur et à mesure

def logged_in?
  return true if current_user 
end 

def login_required 
  return true if logged_in? 
  store_location 
  redirect_to new_user_session_path and return false                                                                                                                                                                                                                      
end 

Authlogic a développé un module spécialement conçu à cet effet, que vous pouvez trouver ici .

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top