2017-12-04 1 views
0

nodejs에 다이제스트 인증을 구현하려고합니다. ANKIT : 샘플 : e4b2d19b03346a1c45ce86ad41b85c5ehttp-auth를 사용하여 다이제스트 인증

사용자 이름 ANKIT 엔드 포인트, PWD ANKIT & 영역 샘플을 호출하는 우편 배달부를 사용하여, 매번 - : 다음은이 users.htpasswd 파일의 내용입니다

var http = require('http'); 
var auth = require('http-auth'); 
var express = require('express'); 
var app = express(); 
var user; 

var basic = auth.basic({ 
    realm: 'Sample', 
    file: __dirname + "/users.htpasswd", 
    algorithm:'md5' 
}); 

basic.on('success', (result, req) => { 
    console.log(`User authenticated: ${result.user}`); 
    user = result.user; 
}); 

basic.on('fail', (result, req) => { 
    console.log(`User authentication failed: ${result.user}`); 
    console.log(req.headers.authorization); 
}); 

basic.on('error', (error, req) => { 
    console.log(`Authentication error: ${error.code + " - " + error.message}`); 
}); 

http.createServer(app).listen(8000); 

app.use(auth.connect(basic)); 

app.get('/', function(req, res) { 
    console.log(req.headers); 
    console.log(basic); 
    res.json('Hello from '+ user); 
    res.end(); 
}); 

app.post('/', function(req, res) { 
    console.log(req.headers); 
    console.log(basic); 
    res.json('Hello from '+ user); 
    res.end(); 
}); 

코드입니다 나는 401을 얻고있다.

내가 잘못하고있는 곳을 알려주기 바란다.

감사합니다.

답변

0

기본 인증 및 요약 인증을 혼합합니다. auth.basicauth.digest으로 대체하면 코드가있는 그대로 작동해야합니다.