Лучшие практики Basi c Auth с реаги - PullRequest
0 голосов
/ 28 апреля 2020

Я хочу разработать базовое 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".

Не могли бы вы, ребята, взглянуть на моем сервере и дать мне несколько советов, если то, что я сделал, хорошо или нет?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...