2016-03-18 3 views
0

Я работаю над реализацией пользовательской аутентификации с использованием файла cookie Auth. Таким образом, я играл вокруг REST API шлюза синхронизации для создания пользователя и сеанса. Я мог бы успешно создать пользователя, но не смог создать сеанс через API/_session. Ниже приведены шаги, которые я выполнил.Невозможно создать сеанс с помощью CouchBase sync gateway admin REST API

1. Создать пользователю

POST /cookbook/_user/ HTTP/1.1 
Host: localhost:4985 
Content-Type: application/json 
{ 
"name": "chef123", 
"password": "1234" 
} 

2. Получить Пользователи

GET /cookbook/_user/ HTTP/1.1 
Host: localhost:4985 
Content-Type: application/json 

Respone :["chef123"] 

3. Создание сеанса

POST /cookbook/_session HTTP/1.1 
    Host: localhost:59840 
    Content-Type: application/json 
    { 
     "name": "chef123", 
     "ttl": 1800 
    } 

Expected: 
{ 
    "cookie_name": "SyncGatewaySession", 
    "expires": "2014-11-07T16:42:11.675519255-08:00", 
    "session_id": "c2425fa7d734bc8c3f6c507854166bef56a5fbc6" 
} 

Instead received: 
{"authentication_handlers":["default","cookie"],"ok":true,"userCtx":{"channels":{},"name":null}} 

Может кто-нибудь пожалуйста, объясните, почему API дает следующий ответ.

{ "authentication_handlers": [ "по умолчанию", "печенье"], "ОК": правда, "userCtx": { "каналы": {}, "имя": NULL}}

+0

ваша проблема решена. У меня такая же проблема. – krishnan

+1

для проблемы была «/» в конце URL-адреса запроса. Я пробовал http: // localhost: 4985/db/_session вместо http: // localhost: 4985/db/_session //, и он работал – krishnan

ответ

0

authentication_handlers - метод, который вы использовали для создания сеанса (это могут быть встроенные функции входа в facebook или persona). userCtx имеет полезную информацию о доступе к данным для этого пользователя, как:

  • channels: Каналы пользователь был предоставлен доступ с помощью функции синхронизации
  • admin_channels: Каналы пользователь был предоставлен доступ в конфигурационном файле
  • roles: роль этого пользователя

См сессионные документы для деталей: http://developer.couchbase.com/documentation/mobile/1.2/develop/references/sync-gateway/admin-rest-api/session-admin/get-db-session-sessionid/index.html

Чтобы настроить аутентификацию с синхронизацией шлюза вы можете проверить эти блоги:

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