1

我正在開發iOS應用程序。Couchbase服務器到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" 
} 

用戶信息( 「設置爲電子郵件ID」)

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

你看了示例應用程序?這是一個很好的方式來熟悉如何工作... https://github.com/couchbaselabs/ToDoLite-iOS – combinatorial

+0

將試試這:)大的幫助。 @combinatorial –

回答

2

用戶可以同步網關配置文件中創建像這樣:

{ 
    "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 
+0

但是Objective C中的實現如何工作?大的幫助。在此先感謝您:) @jamiltz –

+0

@AneneBernadette與Switft實現幾乎完全相同...只需將[CBLManager sharedInstance]與CBLManager.sharedInstance()切換出來等。 – borrrden