簡體   English   中英

使用Node JS在api中檢查用戶名和密碼的幾種方法?

[英]How many ways to check username and password in api using node js?

我有一個測試API。 在此api中,我在解析后從“ curl -u username:password”獲取用戶名和密碼。 但是我不想解析每個api中的用戶名和密碼。 我們可以通過任何方式做到這一點嗎? 例:

    app.get('/test',function(req,res){
        var header=req.headers['authorization']||'',        
        token=header.split(/\s+/).pop()||'',            // and the encoded auth token
        auth=new Buffer.from(token, 'base64').toString(),    // convert from base64
        parts=auth.split(/:/),                          // split on colon
        username=parts[0],
        password=parts[1];
"'+password+'"')
        if(username=="username" && password=="password"){
            res.status(200).json({
                "data":"/v1/test"
            });
        }else
        res.status(422).json({
            "error":"Invalid Username Password"
        });

    });*

您可以嘗試表達中間件。

const checkUsernameAndPassword = (req, res, next) => {
    var header=req.headers['authorization']||'',        
        token=header.split(/\s+/).pop()||'',            // and the encoded auth token
        auth=new Buffer.from(token, 'base64').toString(),    // convert from base64
        parts=auth.split(/:/),                          // split on colon
        username=parts[0],
        password=parts[1];
"'+password+'"')
        if(username=="username" && password=="password"){
            return next();
        } else {
            return res.status(422).json({
                "error":"Invalid Username Password"
            });
        }
};

app.get('/test', checkUsernameAndPassword, function(req,res){
    return res.status(200).json({ "data":"/v1/test" });
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM