express+passport登陆认证

express+passport登陆认证

概述

passport.js是node中得一个做登录验证的中间件,极其灵活和模块化,并可与express,sails等web框架无缝集成。passport的目的只有“登录验证”,提供很多的strategies,每一个strategy是对一种验证方式的封装,比如psaaport-local,是使用本地验证,一般的用户信息存储在数据库中。

web一般有两种进行登录验证的形式:

  • 用户名和密码认证登录(我们选择的)
  • OAuth认证登录

策略strategy

策略是passport中最重要的概念。passport模块本身不能做认证,所有的认证方法都以策略模式封装为插件,需要某种认证时将其添加到package.json即可。

策略模式是一种设计模式,它将算法和对象分离开来,通过加载不同的算法来实现不同的行为,适用于相关类的成员相同但行为不同的场景,比如在passport中,认证所需的字段都是用户名、邮箱、密码等,但认证方法是不同的。

express结合passport实现登陆认证步骤

1. 新建项目
express -e passport
cd passport
npm install
npm install passport
npm install passport-local
2. 配置中间件:(有顺序)
  • 启用connet的session中间件
  • connet的session中间件,同时依赖于connect的cookieParser中间件
  • 配置passport中间件
//app.js

var express = require('express');
var cookieParser = require('cookie-parser');
var session = require('express-session');
var flash = require('express-flash');
var passport = require('passport');

app.use(cookieParser());
app.use(session({
   ...}));
app.use(passport.initialize());
app.use(passport
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值