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版利用什么技术实现_金葱粉涂料印花利用了什么技术?

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

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

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

json转string示例_C.示例中的String.Insert()方法

json转string示例C#String.Insert()方法 (C# String.Insert() Method) String.Insert() method is used to insert a string in an existence string at specified index and returns a new string. String.Insert()方法用于在指定索引处的存在字符串中插入一个字符…

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

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

mac 电脑找不到服务器 dns 地址,MAC OS下如何快速设置DNS服务器地址

楼主你好!介绍以下Mac OS X DNS设置方法:1、点击桌面顶部状态栏里的苹果图标,在菜单里选择“系统偏好设置”。2、点击互联网与无线下的“网络”。3、在网络界面,选中正在联网的网络连接,点击右下角的“高级”选项。4、…

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除了出色的相机之外,其它方面表现如何呢?下面&…

容器性能比无容器服务器,【译】容器 vs 无服务器(Serverless)

一些历史不久之前,开发,部署和运维还相当复杂。在一开始,运维不仅需要修补程序代码,还要支持物理机器。保持服务器,硬件与软件处于最新状态也是一项艰巨的任务。在2000年代,一个新的模型——架构即服务(Iaa…

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配置运行环境…

java字符串删掉子串_如何从Java中的列表中删除子列表?

java字符串删掉子串从列表中删除子列表 (Removing SubList from a List) Suppose, we have a list of few elements like this, 假设我们列出了一些这样的元素, list [10,20,30,40,50]From the list, we have to delete a sub list between sourcing_index (inclu…

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

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

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

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

TCP Socket 粘包

这两天看csdn有一些关于socket粘包,socket缓冲区设置的问题。发现自己不是非常清楚,所以查资料了解记录一下: 一两个简单概念长连接与短连接:1.长连接 Client方与Server方先建立通讯连接。连接建立后不断…

离散数学和组合数学什么关系_关系类型| 离散数学

离散数学和组合数学什么关系关系类型 (Types of Relation) There are many types of relation which is exist between the sets, 集合之间存在许多类型的关系, 1. Universal Relation 1.普遍关系 A relation r from set a to B is said to be universal if: R A…

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

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

tomcat7的数据库连接池tomcatjdbc的25个优势

tomcat的JDBC连接池org.apache.tomcat.jdbc.pool更换或替代吗Apache Commons DBCP连接池。为什么我们须要一个新的连接池?这里有几个原因: 1.DBCP 1.x是单线程的。为了成为线程安全的 共享锁整个池在短时间内在两个对象 分配和对象返回。注意,这并不适用 下议院DBCP 2.x。 2.D…

weakhashmap_Java WeakHashMap entrySet()方法与示例

weakhashmapWeakHashMap类entrySet()方法 (WeakHashMap Class entrySet() method) entrySet() method is available in java.util package. entrySet()方法在java.util包中可用。 entrySet() method is used to retrieve the mappings that exist in this map to be viewed in …

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

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

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

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