Frage

Ich habe eine Rails 2.3.5 Anwendung mit einer API ich schützen möchten.

Es gibt keine Benutzer - es ist eine App zu App Stil Webservice (mehr wie ein Amazon-Service als Facebook), und so würde ich es umsetzen möge einen zweibeinigen OAuth Ansatz mit

.

Ich habe versucht, die OAuth-Plugin-Server-Implementierung als Start zu verwenden:

http://github.com/pelle/oauth-plugin

... aber es gebaut erwartet dreibeinigen (Web-Redirect-Flow) oauth.

Bevor ich tiefer graben sich in Änderungen daran vornehmen zweibeinigen zu unterstützen, wollte ich sehen, ob es einen einfacheren Weg, oder wenn jemand einen besseren Ansatz hatte für eine Rails-Anwendung ist eine zweibeinige OAuth-Anbieter zu implementieren.

War es hilfreich?

Lösung

Bisher die einzige gute Antwort war etwa in der oauth-Plugin zu hacken diese Teilmenge der oauth Interaktion zu bekommen. Seitdem wurde die OAuth-Plugin Refactoring, und jetzt können Sie es gerade nach oben, nur durch Zugabe der richtige Art von Authentifizierungsfilter zu Ihrem Controller:

class ApiController < ApplicationController

    include OAuth::Controllers::ApplicationControllerMethods

    oauthenticate :strategies => :two_legged, :interactive => false

    # ...

end

Andere Tipps

Ich bin nicht bekannt, dass Alternativen zu oauth-Plugin im Moment, obwohl es auf jeden Fall wird immer in die Jahre gekommen und reif für einen Ersatz. Meine Empfehlung ist, den oauth Server von OAuth-Plugin zu erzeugen, extrahiert dann die Abhängigkeiten vom Plugin (das ist nur ein paar Module im Wert von Methoden) und die Plugin Müll. Dann zwicken alles auf Ihre Bedürfnisse. 2-legged oauth sollte kein großes Problem sein, da es einfacher ist als 3-legged sowieso, und mein Gefühl ist, dass oauth-Plugin ist in diesen Tagen ohne wesentliche Änderungen ohnehin nicht verwendet werden.

Das Fleisch von OAuth ist seit langem in die Basis oauth Juwel ohnehin extrahiert worden, so dass die oauth-Plugin Art in der Schwebe ist. Die Architektur macht einige plumpe Annahmen über die Authentifizierungssystem Sie verwenden, und der generierte Code ist veraltet. Also mir, oauth-Plugin dient mehr als ein Beispiel, wie man Draht alles, anstatt etwas, dass die meisten Websites der Box verwenden, würden wollen.

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