Я запрашиваю внутренний API с множеством различных интерфейсов, каждый из которых REST:
/ пользователи /
/ пользователи / имя пользователя / контакты /
/ пользователи / __ username_ / свойства /
.....
Все эти интерфейсы имеют общую аутентификацию через вызов
/ Логин
и вернуть auth_key, который необходимо использовать при любых других вызовах
Итак, я создал класс для каждого интерфейса, что-то вроде:
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
Поэтому после кодирования всего класса моя проблема заключается в том, нужно ли мне вызывать 2 разных интерфейса один за другим, например:
def test
user = MyApi::Users.new("user", "password")
user = user.show("toto")
contacts = MyApi::Contacts.new("user", "password")
contacts = contacts.list(user.id)
end
Как вы видите, мне нужно дважды пройти аутентификацию, и каждый мой экземпляр имеет свой токен, у вас есть идея, как я мог бы улучшить это без входа в систему дважды.
Спасибо,