js 验证护照_护照本地策略第2部分| Node.js

js 验证护照

In my last article (Passport local strategy section 1 | Node.js), we started the implementation of the passport-local authentication strategy. We also looked at the various requirements to get started with the login form. In this article, we will continue with setting up passport and MongoDB database.

在我的上一篇文章( Passport本地策略第1节| Node.js )中,我们开始了护照本地身份验证策略的实现。 我们还研究了登录表单入门的各种要求。 在本文中,我们将继续设置passport和MongoDB数据库

These codes are just to help you get started. So you can edit them.!

这些代码仅是为了帮助您入门。 因此您可以编辑它们。

护照设置 (Passport setup)

In the app.js file, add the following code at the bottom

app.js文件中,在底部添加以下代码

/*  PASSPORT SETUP  */  
const passport = require('passport');
app.use(passport.initialize());
app.use(passport.session());
app.get('/success', (req, res) => res.send("Welcome "+req.query.username+"!!"));
app.get('/error', (req, res) => res.send("error logging in"));
passport.serializeUser(function(user, cb) {
cb(null, user.id);
});
passport.deserializeUser(function(id, cb) {
User.findById(id, function(err, user) {
cb(err, user);
});
});

The code above requires the passport module and creates 2 additional routes which handles successful login and when there's an error.

上面的代码需要通行证模块,并创建2条附加路由来处理成功登录和出现错误时的情况。

猫鼬的设置 (Mongoose setup )

Before setting up mongoose, first of all, create a database with name MyDatabase with collection userInfo and add some few records as shown below:

在设置猫鼬之前,首先,创建一个名称为MyDatabase且具有集合userInfo的数据库,并添加一些记录,如下所示:

passport module 6

Mongoose is what helps our node application to connect with our MongoDB database. It makes use of schema and models.

Mongoose是帮助我们的节点应用程序连接到MongoDB数据库的工具。 它利用模式和模型。

Schema helps us define our data structure and is later used to create our model as you'll see later in the code.

Schema帮助我们定义数据结构,以后将用于创建我们的模型,如稍后在代码中所见。

First of all install mongoose by running the following command in a terminal:

首先,通过在终端中运行以下命令来安装猫鼬:

passport module 7

In the app.js file, add the following code at the bottom

在app.js文件中,在底部添加以下代码

/* MONGOOSE SETUP */
// schema
const mongoose = require('mongoose');
mongoose.connect('mongodb://localhost/MyDatabase', { useNewUrlParser: true } );
const Schema = mongoose.Schema;
const UserDetail = new Schema({
username: String,
password: String
});
// model
const UserDetails = mongoose.model('userInfo', UserDetail, 'userInfo');

That's all for this second section. In the last section, we are going to set up our passport-local authentication strategy since we are working on a form and finally test our work.

这是第二部分的全部内容。 在上一节中,由于我们正在处理表单并最终测试我们的工作,因此我们将建立我们的护照本地身份验证策略。

Thanks for coding with me! See you @ the next article. Feel free to drop a comment or question.

感谢您与我编码! 下次见。 随意发表评论或问题。

翻译自: https://www.includehelp.com/node-js/passport-local-strategy-section-2-node-js.aspx

js 验证护照

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/541592.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

svn版利用什么技术实现_金葱粉涂料印花利用了什么技术?

金葱粉涂料印花利用了什么技术:金葱粉用涂料而不是用染料来生产印花布已经非常广泛,以致开始把它当作一种独立的印花方式。涂料印花是用涂料直接印花,该工艺通常叫做干法印花,以区别于湿法印花(或染料印花)。通过比较同一块织物上印花部位和未…

网站换服务器需要注意什么问题,网站更换服务器要注意哪些事项

原标题:网站更换服务器要注意哪些事项网站在运营的过程中,出于某种考虑,我们会将网站进行服务器的变更,那么在进行服务器变成过程中,需要注意哪些事项。一、如果是跨服务商更换网站服务器,需要做备案迁移。…

kafka分区与分组原理_大数据技术-Kafka入门

在大数据学习当中,主要的学习重点就是大数据技术框架,针对于大数据处理的不同环节,需要不同的技术框架来解决问题。以Kafka来说,主要就是针对于实时消息处理,在大数据平台当中的应用也很广泛。大数据学习一般都有哪些内…

ActiveReports 报表控件官方中文新手教程 (1)-安装、激活以及产品资源

本系列文章主要是面向初次接触 ActiveReports 产品的用户,能够帮助您在三天之内轻松的掌握ActiveReports控件的基本用法,包含安装、激活、创建报表、绑定数据源以及公布等内容。本篇文章我们就从安装产品開始带您开启轻松的 Ac…

如何在React Native中使用React JS Hooks?

In my articles, Im going to be using either expo or snack online IDE and android emulator. 在我的文章中,我将使用expo或点心在线IDE和android模拟器。 React Hooks is simply an awesome tool that helps us use states and other react features without w…

华为P40pro 手机云台_2020年目前拍照最好的手机推荐!华为P40 Pro!DXO全球榜首

目前最热门的拍照手机自然是华为P40 Pro,其相机性能直接问鼎DXOMARK手机相机评分榜首。对于拍照要极求高的用户,华为P40 Pro将是一个非常不错的选择。那么,华为P40 Pro除了出色的相机之外,其它方面表现如何呢?下面&…

Centos 7安装与配置nagios监控(一)

目 录序言(必备知识)一、安装规划1.1系统环境1.2所需软件包二、配置安装环境2.1同步时间2.2禁用SElinux2.3 xftp上传软件包2.4安装邮件服务三、监控主机安装3.1安装nagios的运行环境3.2增加用户3.3安装nagios3.4配置权限3.5安装插件3.6安装nrpe四、远程主机安装4.1配置运行环境…

备份linux系统报错_Linux 系统如何快速入门?分享民工哥总结的经验

大家好,我是民工哥。认识或熟悉我的人都知道,是做运维出身的,所以,很多时候,有很多朋友喜欢问我一些有关运维的问题,比如:我应该如何入门Linux系统运维?Linux系统运维到底需要学哪些…

pe联想服务器装系统教程视频,演示联想电脑u盘重装系统xp教程

联想电脑U盘重装XP系统的方法很多朋友询问,其实现在很多电脑已经不支持XP系统的安装了,如果你的联想电脑是近几年购买的,还是安装win10系统比较保险。当然联想电脑安装系统过程中遇到问题也可以联系人工客服。联想电脑如何使用U盘重装系统XP呢…

springboot公共模块打包_解决SpringBoot多模块发布时99%的问题?

每天都会分享Java架构文章,喜欢的朋友关注我。ps:文末有彩蛋,惊喜等着你如果使用的是 SpringBoot 多模块的项目,在发布的时候可能遇到各种各样的问题。本文归纳了以下 8 个原则和发布时经常出现的 4 个问题的解决方案,…

定义整型数组_C++数组的定义与初始化(学习笔记:第6章 01)

数组的定义与使用[1]数组是具有一定顺序关系的若干相同类型变量的集合体,组成数组的变量称为该数组的元素。数组的定义方括号里面列出的常量表达式是数组每一维的下标个数。数组的下标不管从哪一维它都是从0开始数的。例如:int a[10]; 表示a为整型数组&a…

我们正在经历一个应用疲惫时代?

在移动互联网时代到来之后,应用程序成为了智能手机必备,也正因为万千开发者的参与,才让移动终端充分发挥出了强大的能量,当然,这些开发者也不断创造着造富神话,一个小团队在几个月的努力之后可能就会成为亿…

语句拼接_第2课:一个周末学会R语言数据处理:表拆分和拼接

从一线收集了两百个文件,要整合到一起?总部一张全国两百个城市的汇总表,拆成两百个小文件?开什么玩笑,难道要复制粘贴到天荒地老。。。不用这么麻烦,一个循环,一个语句,实现快速表拆…

Anaconda配置多spyder多python环境

作者:桂。 时间:2017-04-17 22:02:37 链接:http://www.cnblogs.com/xingshansi/p/6725298.html 前言 最近在看《统计学习方法》,打算配合《机器学习实战》一起,可后者的代码是基于python2.6的: All the co…

C++——智能指针和RAII

该文章代码均在gitee中开源 C智能指针hpphttps://gitee.com/Ehundred/cpp-knowledge-points/tree/master/%E6%99%BA%E8%83%BD%E6%8C%87%E9%92%88​​​​​​​ 智能指针 传统指针的问题 在C自定义类型中,我们为了避免内存泄漏,会采用析构函数的方法释…

移除元素所有事件监听_DOM 事件模型或 DOM 事件机制

DOM 事件模型DOM 的事件操作(监听和触发),都定义在EventTarget接口。所有节点对象都部署了这个接口,其他一些需要事件通信的浏览器内置对象(比如,XMLHttpRequest、AudioNode、AudioContext)也部…

ISCC2014-reverse

这是我做reverse的题解。在咱逆向之路上的mark一下,,水平有限,大牛见笑。题目及题解链接:http://pan.baidu.com/s/1gd3k2RL 宗女齐姜 果然是仅仅有50分的难度,OD直接找到了flag. 找到杀手 这题用OD做非常麻烦。我改用I…

DevOps平台中的自动化部署框架设计

本文目录: 一、背景 二、我们的需求是什么? 三、概念澄清 四、概念模型 五、总体设计 六、关键点设计 七、总结 一、背景 说到自动化部署,大家肯定都会想到一些配置管理工具,像ansible,chef,puppet, saltstack等等。虽然这些工具给…

胃癌2019csco指南_2019 CSCO胃癌诊疗指南精华来了!

一文轻松get 2019 CSCO胃癌诊疗指南更新要点!文丨青青子衿 中山大学肿瘤防治中心来源丨医学界肿瘤频道近日,2019年CSCO指南发布会于南京召开。今天为大家推送的是2019 CSCO胃癌诊疗指南的最新更新,在发布专场中,来自华中科技大学同…

learn opengl 中文_LearnOpenGL CN

欢迎来到OpenGL的世界欢迎来到OpenGL的世界。这个工程只是我(Joey de Vries)的一次小小的尝试,希望能够建立起一个完善的OpenGL教学平台。无论你学习OpenGL是为了学业,找工作,或仅仅是因为兴趣,这个网站都将能够教会你现代(Core-p…