Я хочу разработать базовое c реагирующее приложение с механизмом входа в систему, используя express.
Вот что у меня есть:
сервер. js
const express = require('express');
const bodyParser = require('body-parser')
const path = require('path');
var session = require('express-session');
const app = express();
app.use(bodyParser.urlencoded({ extended: true }));
app.use(bodyParser.json());
app.use(session({
secret: 'this my my secret',
resave: false,
saveUninitialized: true,
//cookie: { secure: true }
cookie: {}
}));
app.get('/login', function (req, res) {
if (!req.session.authenticated) {
res.sendFile(path.join(__dirname, 'public', 'login.html'));
} else {
res.redirect('/');
}
});
app.post('/login', (req, res) => {
req.session.authenticated = true;
res.redirect('/');
});
app.use(function (req, res, next) {
if (!req.session.authenticated) {
return res.redirect('/login');
}
next();
});
// app registration
app.use('/', express.static(path.join(__dirname, 'build')));
app.get('/', function (req, res, next) {
res.sendFile(path.join(__dirname, 'build', 'index.html'));
});
app.listen(process.env.PORT || 3000);
index. html
<html>
<body>
<head>
<style>
...
</style>
</head>
<body>
<div class="form center">
<div class="title">
Login
</div>
<form class="login-form" action="/login" method="post">
<input type="text" placeholder="Username" autofocus />
<input type="password" placeholder="Password" />
<button>login</button>
</form>
</div>
</body>
</html>
Я создаю простой статус c логин. html, как при попытке использовать компонент формы входа приложения реакции в сочетании с браузер роутер Понятия не имею, как правильно перенаправить. Основная проблема заключается в том, что весь контент stati c должен пройти, тогда как, если нет повара ie, не следует разрешать ничего, кроме "/ login".
Не могли бы вы, ребята, взглянуть на моем сервере и дать мне несколько советов, если то, что я сделал, хорошо или нет?