久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

嘗試在節(jié)點(diǎn)中實(shí)現(xiàn) JWT 身份驗(yàn)證.在受保護(hù)的路線

Trying to implement JWT authentication in node. Getting unauthorized in protected routes(嘗試在節(jié)點(diǎn)中實(shí)現(xiàn) JWT 身份驗(yàn)證.在受保護(hù)的路線中獲得未經(jīng)授權(quán))
本文介紹了嘗試在節(jié)點(diǎn)中實(shí)現(xiàn) JWT 身份驗(yàn)證.在受保護(hù)的路線中獲得未經(jīng)授權(quán)的處理方法,對(duì)大家解決問題具有一定的參考價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧!

問題描述

我正在嘗試實(shí)現(xiàn) JWT 身份驗(yàn)證./login 和/register 工作正常,它們返回身份驗(yàn)證令牌,但是當(dāng)我嘗試使用標(biāo)頭 'Authorization' = 'JWT token_received' 獲取/secret 時(shí),它返回一個(gè)字符串'unauthorized',我看不到來(lái)自 JWTStrategy 的日志記錄.請(qǐng)讓我知道我哪里出錯(cuò)了.

I am trying to implement JWT authentication. /login and /register work fine and they return authentication token, but when I try to GET /secret with a header 'Authorization' = 'JWT token_received', it returns a string 'unauthorized' and I can see no logging from JWTStrategy. Please let me know where I am going wrong.

var opts = {}
opts.jwtFromRequest = ExtractJwt.fromAuthHeaderAsBearerToken();
opts.secretOrKey = "very_secret"

passport.use(new JwtStrategy(opts, function(payload, next){
    console.log("payload received" + payload);
    User.findById(payload.id, function(err, user){
        console.log("user found:" + user);
        if(err){
            return next(err, false)
        }
        else if(user){
            return next(null, user)
        }
        else{
            return next(null, false)
        }
    });
    }
));

app.use(passport.initialize());

app.post("/login", function(req, res){

        var email = req.body.email;
        var password = req.body.password;

        var user = User.findOne({"email": email}, function(err, user){

        if(err){
            res.json({"error": err});
            return;
        }
        if(!user){
            res.json({"message": "No user found"});
            return;
        }
        if(user.password == password){
            res.json(
                { 
                    "message": "User found",
                    "token": jwt.sign({"id": user.id}, opts.secretOrKey)
                }
            );
        }
        else{
            res.json({"message": "Password did not match"});
        }
    });
});

app.post("/register", function(req, res){
new User({ email: req.body.email, password: req.body.password}).
    save(function(err, user){
            if(err){
                res.json({"message": "User cannot be created"});
            }
            else{
                res.json(
                    { 
                        "message": "ok",
                        "token": jwt.sign({"id": user.id}, opts.secretOrKey)
                    }
                );
            }
    });
});

app.get("/secret", passport.authenticate("jwt", {session: false}), function(req, res){
    console.log(req.get('Authorization'));
    res.json(req.user);
});

使用郵遞員作為客戶端.向郵遞員索取詳細(xì)信息,

Using postman as the client. Request details from postman,

GET /secret HTTP/1.1
Host: localhost:3000
Content-Type: application/x-www-form-urlencoded
Authorization: JWT token_I_received_on_login
Cache-Control: no-cache
Postman-Token: 114060a3-3074-6688-6245-0b0cfe7e9f04

推薦答案

知道了.請(qǐng)求中有錯(cuò)誤.

Got it. Made a mistake in the request.

根據(jù) README,應(yīng)該是 'Authorization' = 'bearer token_received_on_login'

As per the README, it should be 'Authorization' = 'bearer token_received_on_login'

這篇關(guān)于嘗試在節(jié)點(diǎn)中實(shí)現(xiàn) JWT 身份驗(yàn)證.在受保護(hù)的路線中獲得未經(jīng)授權(quán)的文章就介紹到這了,希望我們推薦的答案對(duì)大家有所幫助,也希望大家多多支持html5模板網(wǎng)!

【網(wǎng)站聲明】本站部分內(nèi)容來(lái)源于互聯(lián)網(wǎng),旨在幫助大家更快的解決問題,如果有圖片或者內(nèi)容侵犯了您的權(quán)益,請(qǐng)聯(lián)系我們刪除處理,感謝您的支持!

相關(guān)文檔推薦

Is Math.random() cryptographically secure?(Math.random() 在密碼學(xué)上是安全的嗎?)
Secure random numbers in javascript?(在javascript中保護(hù)隨機(jī)數(shù)?)
How to avoid multiple token refresh requests when making simultaneous API requests with an expired token(使用過期令牌發(fā)出同時(shí) API 請(qǐng)求時(shí)如何避免多個(gè)令牌刷新請(qǐng)求)
JWT not decoding quot;JWT malformedquot; - Node Angular(JWT 未解碼“JWT malformed;- 節(jié)點(diǎn)角度)
How to invalidate a JWT token with no expiry time(如何使沒有到期時(shí)間的 JWT 令牌無(wú)效)
Authorization header in img src link(img src 鏈接中的授權(quán)標(biāo)頭)
主站蜘蛛池模板: 日韩精品在线免费观看 | 福利小视频在线观看 | 欧美日韩国产一区 | 狠狠干狠狠插 | 欧美在线一区二区 | 欧美性爽 | 欧美色图一区二区 | av一级在线 | 成人久久av | 亚洲国产第一页 | 欧美精品黄色 | 国产精品tv | 亚洲国产黄色 | 日韩av在线看 | 久久合| 日韩欧美激情 | 91精品福利| 天天干夜夜撸 | 欧美日韩毛片 | 国产一区二区三区四区 | 久久久久久久久久国产精品 | 激情久久网 | 荤话粗俗h高h重口 | 久久久久毛片 | 久久久久一区二区三区 | 亚洲综合在线视频 | 欧美网站在线观看 | 国产视频一区在线播放 | 夜夜操夜夜操 | 国产www在线观看 | 婷婷久久久 | 日韩黄视频| 日本国产欧美 | av黄色在线 | 在线免费看a | 岛国av在线免费观看 | 亚洲午夜视频在线观看 | 色综合久久久久 | 日本免费黄色网址 | 午夜精品一区二区三区在线播放 | 日本中文字幕一区 |