我是新來的網站身份驗證,我一直在做大量的閱讀,你可以使用不同類型的用戶身份驗證(例如會話與令牌身份驗證)。但是,它看起來比我需要的要多,而且我不確定哪些適合我的事業。如何着手爲網站創建臨時身份驗證?
我的想法是生成臨時用戶帳戶和密碼,這些帳戶和密碼將在第一次使用後過期。我希望將其與我的網站集成在一起,以便他們有機會查看受限制的頁面,之後他們將不再允許訪問這些部分(除非提供新的憑據)。
任何方向在正確的步驟將不勝感激。
更新:我使用Javascript(節點)作爲我的服務器端語言
我是新來的網站身份驗證,我一直在做大量的閱讀,你可以使用不同類型的用戶身份驗證(例如會話與令牌身份驗證)。但是,它看起來比我需要的要多,而且我不確定哪些適合我的事業。如何着手爲網站創建臨時身份驗證?
我的想法是生成臨時用戶帳戶和密碼,這些帳戶和密碼將在第一次使用後過期。我希望將其與我的網站集成在一起,以便他們有機會查看受限制的頁面,之後他們將不再允許訪問這些部分(除非提供新的憑據)。
任何方向在正確的步驟將不勝感激。
更新:我使用Javascript(節點)作爲我的服務器端語言
基於會話的認證實際上是非常輕量級的,如果您使用的是節點的後端,由於大部分(如果不是全部)的Web服務器庫支持「中間件」,它們在請求路由功能之前修改請求。 Express-compatable中間件client-sessions對此非常棒,我以前在一個項目中使用它,取得了巨大的成功。它會在用戶向您的網站發出的第一個請求中添加一個cookie,以識別它們,並且如果在某個時刻登錄,您可以將該會話標記爲已驗證,存儲會話信息以及與其相關的其他數據。
假設你想同時登錄&註銷,最簡單的方法將是使用通過HTTPS POST到login
& logout
路線。在登錄路徑的分辨率內部,您只需在與您一起工作的任何數據庫中「標記爲刪除」即可。
一個例子可能是這樣的:
var app = express();
function authenticate(user, pw){
//do your application specific login verification here
}
function deleteAccount(user){
//do your application specific user removal here
}
app.use(require("express-session")({
secret : "YOUR-SECRET-KEY-HERE"
cookieName : "Session"
//any other desired config options go here
})
app.post("/login", function(req, res){
var user = req.body.user;
var pw = req.body.pw;
req.Session.isAuthenticated = authenticate(user, pw)
if(req.Session.isAuthenticated){
markForDeletion(user, pw);
}
res.write("logged in as: " + user);
res.end();
});
app.post("/logout", function(req, res){
deleteAccount(req.Session.username);
req.Session.username = "";
req.Session.isAuthenticated = false;
res.write("logged out!");
res.end();
});
謝謝!這是一個很好的開始! – Jain
哪個服務器端語言是您使用? – Nitin
@Nitin我正在使用JavaScript(節點) – Jain