1

Quelqu'un a des idées? La situation est comme ceci: j'ai une application de rails primaires et une application auxiliaire. L'application auxiliaire est utilisée pour transformer une demande de service Web en un PUT RESTful à l'application principale. La ressource que l'application auxiliaire tente d'ajouter nécessite une authentification. Toutes les idées seraient très appréciées! Merci beaucoup!Comment authentifier une application Ruby on Rails à une autre, en utilisant RESTful_authentication gem?

Répondre

1

ActiveResource est utilisé à cette fin:

class MyModel < ActiveResource::Base 
    self.site = OTHER_APP_URL 
    self.user = OTHER_APP_USER 
    self.password = OTHER_APP_PASSWORD 

    # Rest of the code here 
end 

vous sur la façon de parler à l'API RESTful de ActiveResource ici: http://api.rubyonrails.org/classes/ActiveResource/Base.html

+0

Merci Swan, je n'ai pas vu votre réponse avant d'ajouter le mien. Cela fonctionnerait certainement, et j'ai presque recouru à l'authentification HTTP, mais j'ai trouvé un moyen de tirer parti de mon schéma d'authentification RESTful actuel impliquant les gemmes RESTful_authentication et Curb. –

+0

Je discutais de ce problème avec un de mes amis avec plus d'exp dans les services web RESTful et je soutenais que l'introduction de l'état (via des sessions) brise le modèle REST, ce qui explique pourquoi Rails fournit des mécanismes aussi excellents que celui décrit plus haut. –

0

Je pense que je l'ai trouvé un peu de ma propre réponse en interrogeant ma Contacts IM. L'approche la plus logique consiste à utiliser la gemme ruby ​​Curb. De l'API ci-dessus, on permet tout simplement le pot à biscuits, authentifie restfully et comprend alors le cookie dans les actions HTTP ultérieures nécessitant une authentification;)

(publierai un code quand je suis, mettant en application ..)

serait encore Appréciez les commentaires et/ou les alternatives si!

+0

ActiveResource est fait à cet effet, fournit beaucoup de méthodes utilitaires et une abstraction impressionnante. C'est fortement recommandé. Merci pour le pointeur sur Curb cependant, je vais sûrement vérifier. – Swanand

Questions connexes