1

我正在开发一个 iOS 应用程序。

关于实现登录模块(用户名/密码,注册和忘记密码)有点困惑。

Couchbase 的新手。使用 Couchbase Enterprise Editon"http://192.168.1.126:8091/ui/index.html#/overview"在 Xcode 中设置 Couchbase Lite,我不知道下一步是什么。有人知道吗?

数据建模:文档 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"
}
4

1 回答 1

2

可以像这样在 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/

对于忘记密码功能,App Server 应使用新密码更新用户记录:

$ curl -vX PUT -H 'Content-Type: application/json' \
             -d '{"name": "user2", "password": "newpass"}' \
             :4985/app/_user/user2
于 2016-07-17T15:08:12.267 回答