2016-05-11 5 views
2

私はExpressアプリケーションでセッションにredisを使用しようとしています。'セッション'は未定義です - セッションストア用のEste JS/Express/Redis

私は次のようにします。

サーバー/ auth.js

import express from 'express'; 
import uuid from 'uuid'; 


const router = express.Router(); 

router.route('/login').post((req, res) => { 
    const { password } = req.body; 

    if (password !== 'pass1') { 
     res.status(401).end(); 
    } else { 
     const token = uuid.v4(); 
     req.session.token = token; 

     res.status(200).send({token}).end(); 
    } 
}); 

router.route('/watch').post((req, res) => { 
    console.log(req.session.token); 

    res.status(200).send({}).end(); 
}); 

router.route('/logout').post((req, res) => { 
    ... 
}); 

export default router; 

サーバー/ api.js

import express from 'express'; 
import session from 'express-session'; 
import cookieParser from 'cookie-parser'; 
import bodyParser from 'body-parser'; 
import cors from 'cors'; 
import redis from 'redis'; 
import connectRedis from 'connect-redis'; 

import auth from './auth'; 


const app = express(); 

let client = redis.createClient(); 
let RedisStore = connectRedis(session); 

app.use(cors()); 

app.use(session({ 
    secret: 'ssshhhhh', 
    store: new RedisStore({ host: 'localhost', port: 6379, client: client, ttl: 260}), 
    saveUninitialized: false, 
    resave: false 
})); 
app.use(cookieParser("secretSign#143_!223")); 
app.use(bodyParser.urlencoded({extended: false})); 
app.use(bodyParser.json()); 


app.use('/auth', auth); 

app.on('mount',() => { 
    console.log('Api is available at %s', app.mountpath); 
}); 

export default app; 

サーバー/ main.js

import express from 'express'; 
import api from './api'; 
import frontend from './frontend'; 
import errorHandler from './lib/errorHandler'; 
import config from './config'; 


const app = express(); 

app.use('/api/v1', api); 
app.use(frontend); 
app.use(errorHandler); 

app.listen(config.port,() => { 
    console.log('Server started at port %d', config.port); 
}); 

そして、ファイルserver/auth.jsのconsole_log()は私に "undefined"を与えます。

私はEste JSフレームワークを使用しています。

誰でも助けてくれますか?

ありがとうございました!

答えて

1

問題は解決しました。同形フェッチはサーバーにCookieを送信しません