Сервер Couchbase для телефона iOS

Я разрабатываю приложение для iOS.

Немного запутался в реализации модуля входа в систему, который (имя пользователя/пароль, регистрация и забытый пароль).

Новое в Couchbase. Использовал Couchbase Enterprise Editon "http://192.168.1.126:8091/ui/index.html#/overview" Настроил Couchbase Lite в Xcode, и я не знаю, что будет дальше. Кто-нибудь знает?

Моделирование данных: документы JSON

User ("Set as the EMAIL ID")
{ 
    _id:” ",
    username::" ",
    password::" ",
    email::" ", 
    type:"user"
}

Информация о пользователе («Установить как EMAIL ID»)

{ 
    _id:” ",
    description:" ",
    fb_URL::" ",
    Twitter::" ", 
    Gender::" ", 
    Age::"[min:, max:]",
    type:"user"
}

person Anne Bernadette    schedule 15.07.2016    source источник
comment
вы смотрели пример приложения? Это отличный способ познакомиться с тем, как все работает... github.com/couchbaselabs/ToDoLite-iOS< /а>   -  person combinatorial    schedule 16.07.2016
comment
Попробую это :) Большая помощь. @комбинаторный   -  person Anne Bernadette    schedule 17.07.2016


Ответы (1)


Пользователей можно создать в файле конфигурации Sync Gateway следующим образом:

{
  "databases": {
    "app": {
      "bucket": "walrus",
      "users": {
        "john": {"password": "pass"}
      }
    }
  }
}

Затем для этого пользователя включается аутентификация в приложении iOS:

let manager = CBLManager.sharedInstance()
let database = try! manager.databaseNamed("app")

let url = NSURL(string: "http://localhost:4984/app")!

let push = database.createPushReplication(url)
let pull = database.createPullReplication(url)

push.authenticator = CBLAuthenticator.basicAuthenticatorWithName("john", password: "pass")
pull.authenticator = CBLAuthenticator.basicAuthenticatorWithName("john", password: "pass")

push.start()
pull.start()

Для регистрации пользователей вам необходимо настроить сервер приложений для регистрации пользователей на порту администратора Sync Gateway (по умолчанию 4985). Чтобы зарегистрировать пользователя:

$ curl -vX POST -H 'Content-Type: application/json' \
       -d '{"name": "user2", "password": "pass"}' \
       :4985/app/_user/

Для функции забытого пароля сервер приложений должен обновить запись пользователя с новым паролем:

$ curl -vX PUT -H 'Content-Type: application/json' \
             -d '{"name": "user2", "password": "newpass"}' \
             :4985/app/_user/user2
person jamiltz    schedule 17.07.2016
comment
Но как работает реализация в Objective C? Большая помощь. Заранее спасибо :) @jamiltz - person Anne Bernadette; 17.07.2016
comment
@AnneBernadette Почти то же самое, что и реализации Switft ... просто отключите CBLManager.sharedInstance () с помощью [CBLManager sharedInstance] и т. д. - person borrrden; 18.07.2016