2017-12-04 1 views
0

Versuch Digest Auth in Nodejs zu implementieren. Unten ist der CodeDigestauth mit http-auth

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(); 
}); 

Dies ist der Inhalt der users.htpasswd Datei ist: - ankit: Beispiel: e4b2d19b03346a1c45ce86ad41b85c5e

Postbote Mit dem Endpunkt mit Benutzername ankit, pwd ankit & Reich Beispiel zu nennen, jedes Mal Ich bekomme 401.

Bitte lassen Sie mich wissen, wo ich falsch mache.

Dank

Antwort

0

Sie mischen Grund Auth und Auth verdauen. Ersetzen Sie auth.basic durch auth.digest und Ihr Code sollte so funktionieren wie er ist.

Verwandte Themen