Je demande une API interne avec beaucoup d'interfaces différentes, chacun est REST:rubis et HTTParty
/utilisateurs/
/utilisateurs/nom d'utilisateur/ contacts/
/utilisateurs/__ username_/propriétés/
.....
Toutes ces interfaces ont une authentification commune via un appel à
/login
et retourner un auth_key qui doivent être utilisés dans tous les autres appels
Je fait une classe chaque interface, quelque chose comme:
class MyApi::Users
include HTTParty
def initialize(username, password)
init = MyApi::Auth.new(username, password)
@auth_token = init.auth["id"]
end
def create(options)
end
def show(username)
end
def update(username, options)
end
def destroy(username)
end
end
Donc, après avoir codé toute la classe, mon problème est de savoir si je dois appeler 2 diffe louer interfaces un après l'autre comme:
def test
user = MyApi::Users.new("user", "password")
user = user.show("toto")
contacts = MyApi::Contacts.new("user", "password")
contacts = contacts.list(user.id)
end
Comme vous le voyez je dois authentifier deux fois et mes instances ont chacun un jeton différent, avez-vous une idée comment je pourrais l'améliorer sans connexion deux fois. Merci,
Je ne suis pas en utilisant des rails sessions Nether ou logique auth, et c'est mon problème, je ne veux pas authentifier deux fois, J'ai besoin d'un motif pour pouvoir le faire. – Mike
Désolé mon hypothèse – ADAM
Mike pouvez-vous clarifier ce que vous utilisez pour servir la ressource reposante si vous n'utilisez pas de rails. Utilisez-vous votre propre cadre, sinatra, etc Certains d'entre eux ont des moyens de garder l'état et certains d'entre eux ne le font pas. Comme évidemment la réponse à cela consiste à garder l'état sur le côté serveur et à le réutiliser côté client – ADAM