Я работаю на последнем сервере Lion, для доступа через приложение.Структура веб-службы Lion-сервера основана на ruby on rails и проста для понимания (у меня ранее не было опыта работы с ruby).Однако вся система (для реализованной части) не предназначена для доступа к API.Например, система аутентификации основана на аутентификации Cookie (идентификатор сеанса или что-то в этом роде).не все выходные данные запроса имеют ответ json.Не любые неудачные ответы на запросы с телом json.
вся работа должна выполняться самим пользователем.
Первое - это аутентификация на сервере.весь процесс доступен вам:
'wiki/api/csrf' to get the X-CSRF-Token value
'auth/challenge_advanced?username=xxxx' to get a challenge parameters
'auth/digest_login' to use md5-sess digest to login
, а дайджест md5-sess рассчитывается по вашему собственному коду, следующему за digest.js (для меня target-c, с lib_ CC_md5)
затем вы можете добавить поддержку рендеринга json для необходимых контроллеров, например,
respond_to do |format|
format.html
format.js { render_js_pagination_response(@search, 'people/entitylist_item') }
format.json { #new added json support
rs = []
@search.results.each do |r|
nr = filterUserInfo r # I only need some of the all properties
rs.push nr
end
render :json => rs
}
end
Одна важная вещь: сервер lion использует веб-аутентификацию / cookie для авторизации доступа, поэтому ваш запрос lib /Api должен обрабатывать файлы cookie.
Все вышеперечисленное - это простейшее решение с доступом к API / JSON, но не самое лучшее.Вам лучше переделать весь процесс доступа в соответствии с доступом API.
Кстати: вы можете скопировать весь / usr / share / collabd / в каталог вашего собственного проекта, а затем изменить все / путь вашего проекта /collab / coreclient / config / collabcore {1,2,3,4} .yml, измените производство на разработку.
, чтобы вы могли запустить приложение сервера разработки под управлением collab / coreclient с помощью:
sudo -u _teamsserver thin start
доступ к серверу через http://localhost:3000