다음 코드를 입력했는데 0.0.0.0:3000/user?apikey=xxx
을 입력 할 때마다 로컬 전략 내의 코드가 실행되지 않고 "인증되지 않은"페이지로 바로 이동합니다. passport.authenticate를 제거하려고했는데 server.get('/user')
에서. 디버그 모드에서 매개 변수 맵을 요청하기 위해 'apikey'가 구문 분석 된 것을 볼 수 있습니다. 그래서 문제는 여권이 요청을 인증 할 수 없다는 것입니다. 어떤 도움이라도 대단히 감사하겠습니다. 감사!restify.js + passport.js가 GET 요청을 인증하지 않음
var restify = require('restify');
// Create server
var server = restify.createServer({
name: 'server'
});
server.use(restify.queryParser());
server.use(restify.bodyParser());
var passport = require('passport');
var LocalStrategy = require('passport-local').Strategy;
passport.use(new LocalStrategy(
function (apikey, done) {
console.log('Entered authentication.');
done(null, null);
}
));
//specify route
server.get('/user', passport.authenticate('local'), function (req, res) {
console.log(req.params);
res.end('haha');
});
server.listen(3000, function() {
console.log('%s listening at %s', server.name, server.url)
});
내 REST API에 대한 인증을 추가하고 싶었 :
나는 단지 내 보낸 API에서 다음은 서버가 호출 것을 호출 할 그것을 호출합니다. 솔루션 (토큰 서버, openid, passport.js 등)을 찾고 있었지만 아무 것도 간단하지 않고 액세스 할 수있었습니다. 노드의 미들웨어에 대한 나의 무지가 유죄입니다. 귀하의 솔루션은 매우 간단하고 접근 가능합니다. 감사합니다. – enguerranURL에 열쇠가 있으면 중간 공격을받은 사람에게 취약하지 않습니까? SSL이 필요하지 않습니까? –