Frage

Wird jemand getestet - wird Authlogic mit OAuth -Plugin (https://github.com/pelle/oauth-plugin) oder nicht?

War es hilfreich?

Lösung

Die kurze Antwort lautet nein. Ich integriere gerade OAuth-Plugin's Serviceanbieter mit meinem eigenen Auth -System (das vorherrscht Authlogic, ACTS_AS_Authenticated und den ganzen Rest).

OAuth-Plugin Serviceanbieter arbeitet mit einem Codegenerator, der zwei Controller generiert, die dann in einige Bibliotheksdateien im Plugin verbunden werden. Alle diese Dateien erwarten a login_required Klassenmethode mit der gleichen Semantik wie ACTS_AS_Authenticated Verwendet.

Authlogic macht überhaupt keine Annahmen über Ihre Controller, sodass es nicht mit dem Box funktioniert OAuth-Plugin, Diese Entwurfsentscheidung bedeutet jedoch auch, dass es ziemlich einfach ist, Ihre Controller auf die erwartete Weise zu strukturieren. Daher sollte es (vielleicht trivial) einfach sein, einen Schim zu bauen, um sie zu unterstützen OAuth-Plugin.

In meinem Fall habe ich mich jedoch entschlossen, den Generator auszuführen, um das zu extrahieren, was ich aus dem Plugin benötige und das Plugin selbst löschen kann. Der Hauptgrund, warum ich das tue, ist, dass ich das explizit nicht habe login_required Methode in meinem Auth -System, also müsste ich die Lib der Affen patchieren, um sie zum Laufen zu bringen. Zweitens gibt es viele Sachen im Plugin, das ich einfach nicht brauche. Drittens wurden die meisten Dinge, die wirklich Bibliotheksebene sind OAuth Juwel richtig, also das Zeug in der OAuth-Plugin Das Lib -Verzeichnis befindet sich in diesem seltsamen No Mans Land zwischen dem generierten Code und der tatsächlichen Bibliothek.

Andere Tipps

Ich bin gerade dabei, dies gerade zum Laufen zu bringen. Ich habe gerade meine eigenen mit den Authlogic -Methoden gerollt, damit es gut spielen. (Ich versuche, einen Anbieter zum Arbeiten zu bringen, also scheint der Authlogic-Oauth für mich nicht richtig zu sein.)

Ich werde bearbeiten, während ich gehe

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 hat ein Add-On, das speziell dafür entwickelt wurde, das gefunden werden kann hier.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top