Nodejs利用passport验证用户登录

本文介绍了如何在Node.js中利用Passport中间件进行用户登录验证。Passport是一个灵活且模块化的认证库,支持多种认证策略,如passport-local。文章详细讲解了Passport的简介、策略、环境依赖、安装、配置、策略定义以及在实际应用中的验证方法,包括回调函数done()的使用。此外,还探讨了Passport与Express、session的结合以及相关配置选项的含义。
摘要由CSDN通过智能技术生成

passport验证用户登录

最近学习用nodejs+express+session实现用户登录,绕不开使用passport,系统记录一下学习和实践过程

1. Passport简介

passport.js是Nodejs中的一个做登录验证的中间件,极其灵活和模块化,并且可与Express、Sails等Web框架无缝集成。passport模块本身不能做认证,所有的认证方法都以策略模式封装为插件,需要某种认证时将其添加到package.json即可。

2. Passport策略

passport功能单一,只做authenticate, 但是认证方式多种多样,具体如何认证,passport采用了策略模式把具体的实现留给了具体的strategies; 比如passport-local.
策略模式是一种设计模式,它将算法和对象分离开来,通过加载不同的算法来实现不同的行为,适用于相关类的成员相同但行为不同的场景,比如在passport中,认证所需的字段都是用户名、邮箱、密码等,但认证方法是不同的。

3. Passport环境依赖

Passport用于用户验证,需要Nodejs+express以及相应的数据库,同时需要cookie-parse用于cookie解析,以及session和express-session用于写入和解析session。可选的,connect-flash消息提示中心件。

4. Passport安装

npm install passport --save
npm install passport-local --save

5. Passport配置和策略定义

下列代码写在总配置文件app.js中

var express = require('express');
var cookieParser = require('cookie-parser');
var passport = require('passport');
var session = require('express-session');
var flash = require('connect-flash');
...
app.use(cookieParser());
app.use(session({
   
    secret: 'assetManagement',       
    cookie: {
   maxAge: 12*60*60*1000},  //定义session失效时间
    rolling: true,
    resave: true,
    saveUninitialized: false
})
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值