確實有可能做你想要的一切。您可以使用從客戶端到服務器端的ajax調用,並獲取所需的所有數據,即連接令牌。
所以,你點:
- 「在SHA1發送登錄/密碼」:從DOM中獲取登錄/密碼情侶,轉換成SHA256(比SHA1更好),通過發送到您的服務器ajax
- 以JSON格式從您的服務器取回結果。如果成功,得到給定的令牌,並在本地存儲臨時
- 使用令牌從客戶的每一次溝通API調用到您的服務器,所以你就可以知道有關用戶身份
我也建議個人數據由您的應用管理時使用https協議。
你需要什麼? JS和/或jQuery體驗,(可能)管理客戶端和服務器端的所有代碼,有時間開發。我還建議您使用稱爲Runscope的優秀在線工具來跟蹤您的所有客戶端/服務器通信和調試。
////編輯////
- 如何使用您的API進行交互:我是一個客戶端的DEV,這樣我就可以送你一個片斷登錄:
email = $("#email").val();
password = $("#password").val(); var newdatatosend = email+"/"+password;
var datatosend = {"login": window.btoa(newdatatosend) }; $.ajax({ type: "POST", url: url_main+url_api+url_login, dataType: 'json', data: JSON.stringify(datatosend), contentType: "application/json" }) .done(function(data) { // Here are data received from the server: the connection token })
- 正如你可以看到,我收到令牌從服務器(如果我的憑據AR e真正的),我將它存儲在SessionStorage(應用程序關閉時爲空的本地存儲)中。無論如何,您應該在服務器端管理令牌的過期時間(2小時?12小時?)。因此,當客戶端嘗試使用其舊的存儲令牌時,應該要求再次登錄以刷新會話。
要使用您只需使用一套會話存儲/獲取功能:
sessionStorage.setItem('mytoken', token);
var token = sessionStorage.getItem('mytoken');
謝謝您的答覆。我已經瞭解了整個操作的很多部分。我會喜歡的是,如何與API進行交互我也想知道令牌如何工作,如何存儲它以及可能對其使用的建議(特定令牌的有效期) I熟悉JavaScript和JQuery,並提供JQuery的一個小偏好。 我想最大限度地處理客戶端的事情,以期在未來有重要的用戶羣,並避免使用最大的服務器。 – MedMatrix