Question

J'ai rails l'application avec une API 2.3.5 je veux protéger.

Il n'y a pas d'utilisateur - il est une application de style application webservice (plus comme un service Amazon que facebook), et je voudrais la mettre en œuvre en utilisant une approche de protocole OAuth à deux

.

J'ai essayé d'utiliser l'implémentation du serveur OAuth-plugin comme début:

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

... mais il est construit attendre à trois pattes (web flux redirect) OAuth.

Avant de creuser plus profondément dans les modifications à apporter à l'appui de deux pattes, je voulais voir s'il y avait un moyen plus facile, ou si quelqu'un a une meilleure approche pour une rails application pour la mise en œuvre d'être un fournisseur de OAuth à deux pattes.

Était-ce utile?

La solution

Auparavant, la seule bonne réponse était de pirater à propos dans le oauth-plugin pour obtenir ce sous-ensemble de l'interaction OAuth. Depuis lors, le oauth-plugin a été refactorisé, et vous pouvez l'utiliser directement vers le haut, en ajoutant simplement le type de filtre d'authentification à votre contrôleur:

class ApiController < ApplicationController

    include OAuth::Controllers::ApplicationControllerMethods

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

    # ...

end

Autres conseils

Je ne suis pas au courant des alternatives à oauth-plugin pour le moment, mais il devient vraiment long dans la dent et mûre pour un remplacement. Ma recommandation est de générer le serveur OAuth de oauth-plugin, puis extraire les dépendances du plug-in (qui sont juste un des modules de valeur de quelques méthodes) et les déchets du plug-in. tweak alors tout à vos besoins. OAuth 2 pattes ne devrait pas être un gros problème, car il est plus simple que de toute façon trois jambes, et mon sentiment est que OAuth-plugin n'est pas utilisable ces jours sans modifications importantes de toute façon.

La viande de OAuth a longtemps été extrait dans la gemme oauth de base de toute façon, de sorte que le oauth-plugin est en quelque sorte dans les limbes. L'architecture fait quelques hypothèses musclées au sujet de ce système d'authentification que vous utilisez, et le code généré est daté. Donc, pour moi, OAuth-plugin sert plus comme un exemple de comment tout câbler plutôt que quelque chose que la plupart des sites voudraient utiliser hors de la boîte.

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