0
내 app.js는 다음과 같습니다 키워드 :nodejs 익스프레스 프레임 워크
var expressJwt = require('express-jwt');
var session = require('redis-sessions');
app.use('/events', expressJwt({secret: secret}), session.verifyToken, events);
session.verifyToken가 레디 스의 DB는 토큰이 만료되었는지 확인하기 위해 사용자 정의 modue입니다.
모질라에서 테스트 할 때 session.verifyToken이 작동하도록 모듈 테스트를 위해 작성한 모든 테스트.
//verifyToke function
RedisSessions.prototype.verifyToken = function(req, res, next){
var token = this.extractToken(req.headers['authorization']);
this.containsToken(token, function(err, contains){
if(contains == 1){
next();
}else{
res.send(401);
}
});
}
하고 결국
내가 이렇게 내 RedisSession 모듈을 수출 : 요청이 표현을 통해 들어오는 경우module.exports = new RedisSessions();
그러나, 나는이 라인에 500 내부 오류가 발생합니다.
var token = this.extractToken(req.headers['authorization']);
것은이 this
키워드의 범위가 범위에 단지 내 RedisSessions 객체가 있어야한다, 완전히 꺼져이지만, 대신 구멍 명시 프레임 워크입니다.
누구든지이 키워드가 꺼져있는 이유를 설명 할 수 있습니까?
TNX, 나는 조금 더 나은 솔루션 –
정말 그 우아함 것 같다 (세션) .bind 사용 후자의 방법. 이것은 내가 필요한 것입니다. 고체! – Dan
나는 동일한 문제가 있고, 그것을 "묶는"고정 사용 궁금해하는 방법을 알고 사용 '바인딩', 많이 thx –