2015-06-17 3 views
0

Я работаю над Android-приложением, которое использует Couchbase Lite и Sync Gateway. Я выполняю аутентификацию с помощью шлюза Sync с использованием базовой HTTP-аутентификации.Validate Couchbase Sync Gateway Credentials от Android

Есть ли способ проверить учетные данные пользователя без запуска репликации? Я считаю, что у меня может быть интерфейсная веб-служба, которая будет использовать API REST API, чтобы попытаться создать сеанс, но я бы предпочел избежать этого и попросить клиента напрямую поговорить с Sync Gateway.

ответ

1

После некоторого тестирования я обнаружил, что есть в наличии на не админ порт сеанса API, который работает для тестирования учетной записи:

curl -H "Content-type: application/json" -X POST \ 
http://localhost:4984/mydatabase/_session --data \ 
"{\"name\":\"myuserid\",\"password\":\"mypassword\"}" 

Это не создает сеанс, но это делает проверить учетные данные пользователя, возвращая следующее:

{ 
    "authentication_handlers":["default","cookie"], 
    "ok":true, 
    "userCtx":{"channels":{"!":1,"channel1":1,"channel2":1},"name":"myuserid"} 
} 

на неправильный пароль, он возвращает:

{"error":"Unauthorized","reason":"Invalid login"} 

В непризнанном идентификаторе пользователя сервер немедленно закрывает соединение, не возвращая ничего.

Смежные вопросы