2017-10-09 92 views
0

所以我只是想爲我目前正在開發的應用程序登錄。現在只有一個用戶名dbreader,但用戶必須輸入密碼才能訪問遠程數據庫(couchdb)並進行同步。檢查他們提供的密碼是否正確以便我可以返回登錄或登錄成功失敗的最佳方法是什麼?使用輸入的密碼將同步請求發送到空數據庫,並查看它是否引發驗證失敗?檢查遠程數據庫的登錄信息是否正確

回答

3

您可以通過向_session端點發送請求來驗證憑據。

基本上,你創建一個會話cookie。如果失敗,您將收到一個401 HTTP狀態代碼。否則,您將收到一個包含您的角色,名稱和Cookie的200個HTTP狀態碼。

的更多信息,可以發現in the doc

$.ajax({ 
 
    url:"http://localhost:5984/_session", 
 
    method:"POST", 
 
    dataType:"json", 
 
    data: { 
 
    name:"test", 
 
    password:"test" 
 
    } 
 
}).done(function(res){ 
 
    console.log(JSON.stringify(res)); 
 
}).fail(function(err){ 
 
    console.log(JSON.stringify(err)); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

+0

沒有辦法訪問與pouchdb會議端點從我所看到的 – Shard

+0

您可以搜索PouchDB插件,會做,但如果你找不到一個,你可以簡單地使用Ajax請求手動執行請求。 –

+0

可用的插件不夠輕便,無法檢查密碼是否正確。他們提供了我不想要的各種功能。我嘗試使用Ajax,並且總是發生500個內部服務器錯誤,不知道爲什麼,也沒有找到問題非常有用,我花了幾個小時擺弄它。任何關於確定原因的建議都會很好。目前,當我嘗試使用輸入的密碼連接到數據庫時,我已經恢復到只檢查服務器響應 – Shard