如何通过服务器重启来存储连接用户和护照?

时间:2018-05-20 16:28:40

标签: javascript node.js authentication passport.js passport-local

我正在玩passport-local。它的使用非常简单,但是护照建立cookie-session-id和连接用户之间关系的方式对我来说仍然很神秘。

我想在数据库中存储已连接的会话,以便:

  • 了解关联用户
  • 检测IP更改(出于安全原因)
  • 自动断开长时间未见的用户
  • 更改每个请求的会话编号(出于安全原因)
  • 保持用户连接服务器重启(对调试和服务器更新很有用)

从下面这个无效的片段中,您可以看到我有两个集合:

  • 一个用于存储注册用户
  • 一个用于存储已连接的用户

这里是片段:

import passport from 'passport'
import LocalStrategy from 'passport-local'

import mongoose from 'mongoose'

var UserSchema = new mongoose.Schema({
  username: String,    
  password: String
})

var Sessions = new mongoose.Schema({
  session: String, // Sessions of connected users 
  username: { type: Schema.Types.ObjectId, ref: 'User' },
  ip: String, // IP of the connected user 
  lastSeen: Date, // When the user made his last request 
})

var User = mongoose.model('UserSchema')

我应该如何使用passport填充会话表?

0 个答案:

没有答案