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.pswp.cn/news/541592.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/541592.shtml
英文地址,請注明出處:http://en.pswp.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…

我們正在經歷一個應用疲憊時代?

在移動互聯網時代到來之后,應用程序成為了智能手機必備,也正因為萬千開發者的參與,才讓移動終端充分發揮出了強大的能量,當然,這些開發者也不斷創造著造富神話,一個小團隊在幾個月的努力之后可能就會成為億…