Настройка аутентификации пользователя может быть легко достигнута в apache, настроив .htaccess и .htpasswd. Однако я разрабатываю новое веб-приложение и использую express.js или response.js для создания веб-сервера. Я искал аутентификацию пользователей в Интернете, но это длинные проекты для входа в систему в стиле электронной почты, например здесь. Все, что мне нужно, это одно универсальное имя пользователя и пароль. Когда пользователь заходит на мой сайт, появляется всплывающее окно с именем пользователя и паролем. (Такой же как стиль .htaccess)

0
Mian Asbat Ahmad 28 Май 2017 в 18:16

2 ответа

Лучший ответ

Насколько я понимаю, вам нужна аутентификация http-сервера в nodejs.

Я знаю один модуль npm. ссылка

И это довольно легко настроить. Основной пример

// Authentication module. 
var auth = require('http-auth');
var basic = auth.basic({
    realm: "Simon Area.",
    file: __dirname + "/../data/users.htpasswd"
});

// Creating new HTTP server. 
http.createServer(basic, (req, res) => {
    res.end(`Welcome to private area - ${req.user}!`);
}).listen(1337);
1
Dinesh undefined 28 Май 2017 в 15:21

Если кто-то заинтересован в ES2016, следуйте следующему коду. Установите Babel и т. Д., Чтобы он работал.

import express from 'express';
import auth from 'http-auth';
// Configure basic auth
const basic = auth.basic({ 
realm: 'SUPER SECRET STUFF'
}, (username, password, callback) => { 
callback(username == 'admin' && password == 'password'); 
});
// Set up express app
const app = express();
// Create middleware that can be used to protect routes with basic auth
const authMiddleware = auth.connect(basic);
// Protected route
app.get('/', authMiddleware, (request, response) => { 
response.send('you made it!'); 
});
app.listen(3000);
0
Mian Asbat Ahmad 30 Май 2017 в 23:09