2014-04-28 16 views
2

我正在開發一個應用程序,它使用couchDB。當用戶打開應用程序時,它會提示他輸入用戶名和密碼。使用CouchDB的用戶身份驗證Android

現在我的問題是如何檢查用戶認證在couchDB,我的意思是如何檢查用戶是否是從沙發服務器的現有用戶或新用戶。

CouchDB中有沒有用於用戶認證的安全方式?

回答

0

你真的不應該在你的應用中使用couchDB用戶作爲用戶。

將代碼中的登錄和數據庫服務器詳細信息存儲在您的應用程序中也是不好的做法。

我會爲你的couchdb設置一個API,它屏蔽了來自用戶的任何密碼,但除此之外,它只是將視圖/ etc傳遞給實際的couchDB實例。

用戶將不得不對這個API進行身份驗證,這個API可能會使用存儲在你的couchdb中的一些「api用戶」數據來驗證它們是否真實,並且如果不拒絕請求。

+0

CouchDB身份驗證API多年來有所改進。 –

3

我不同意DHK的回答:CouchDB _users數據庫是做用戶認證的好方法。你不用代碼管理用戶(這確實是一個不好的做法); CouchDB處理所有的密碼salting/hashing /等。自動爲你。唯一需要添加的是SSL(HTTPS),以便密碼不會以明文形式發送。這是一個功能,而不是bug,因爲這就是HTTPS的設計目的。

我寫了一個blog post about CouchDB其中談到了很多關於身份驗證,如果你只是想快速啓動和運行,this rough draft of a PouchDB plugin展示瞭如何做簡單的註冊/登錄/註銷操作使用CouchDB(看代碼,這是超級簡單)。

該插件如何工作以及如何在Android上執行操作的唯一區別是您無法使用Cookie。您將使用基本的HTTP身份驗證(https://user:[email protected]:5984),只要您使用SSL,這也可以。 CouchDB有docs on SSL,或者你可以just put an Nginx proxy in front of it(我的首選解決方案)。