Как я могу заставить / api / logout действительно выйти из системы и перенаправить в экспресс с помощью passport.js? - PullRequest
0 голосов
/ 08 ноября 2019

Я создал конечную точку / выход из системы в экспресс-режиме и дал указание функции обработчика маршрута сначала выйти из системы, а затем перенаправить на корневую страницу.

index.js

const express = require('express');
const mongoose = require('mongoose');
const cookieSession = require('cookie-session');
const passport = require('passport');
const keys = require('./config/keys');
require('./models/User');
require('./services/passport');
const apiRoutes = require('./routes/apiRoutes');
const authRoutes = require('./routes/authRoutes');

mongoose.connect(keys.mongoUri, { useNewUrlParser: true, useUnifiedTopology: true });

const app = express();

app.use(
    cookieSession({
        maxAge: 30 * 24 * 60 * 60 * 1000,
        keys: [keys.cookieKey],
    })
);

app.use(passport.initialize());
app.use(passport.session());

app.use('/auth', authRoutes);
app.use('/api', apiRoutes);

const PORT = process.env.PORT || 5000;
app.listen(PORT, () => console.log(`Server is running at port ${PORT}`));

apiRoutes.js

> const router = require('express').Router();
> 
> router.get('/logout', (req, res) => {
>     req.logout();
>     res.redirect('/'); });
> 
> router.get('/current_user', (req, res) => res.send(req.user));
> 
> module.exports = router;

Когда я нажимаю на кнопку выхода из системыURL становится http://localhost:8080/api/logout, но больше ничего не делает.

Я также проверил другие ресурсы, и похоже, что это способ сделать это, но он не работает.

Я хочу выйти из системы и перенаправить ее на корневой URL-адрес каждый раз, когда нажимаю кнопку «Выйти».

1 Ответ

0 голосов
/ 08 ноября 2019

on перенаправление в React - Узел

f для ваших индексных страниц

import { BrowserRouter } from 'react-router-dom';

для ваших API-маршрутов настройте вашу страницу так, чтобы она выглядела примерно так

import React, { Component } from 'react';
import { Route, Switch } from 'react-router-dom';
import './App.css';
import Home from './pages/Home';
import List from './pages/List';

class App extends Component {
  render() {
    const App = () => (
      <div>
        <Switch>
          <Route exact path='/' component={Home}/>
          <Route path='/logout' component={List}/>
        </Switch>
      </div>
    )
    return (
      <Switch>
        <App/>
      </Switch>
    );
  }
}

приложение экспорта по умолчанию;

маршруты и коммутаторы - вот что поможет вам перейти в раздел выхода из системы.

https://dev.to/nburgess/creating-a-react-app-with-react-router-and-an-express-backend-33l3

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