node oauth2验证_如何设置和使用护照OAuth Facebook身份验证(第1部分)| Node.js

node oauth2验证

In my last articles, we looked at the implementation of the passport-local authentication strategy. We also looked at the various requirements to get started with the login form.

在上一篇文章中,我们介绍了护照本地身份验证策略的实现。 我们还研究了登录表单入门的各种要求。

Here are the previous articles,

这是以前的文章,

  • Passport local strategy section 1 | Node.js

    护照本地策略第1部分| Node.js

  • Passport local strategy section 2 | Node.js

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

  • Passport local strategy section 3 | Node.js

    护照本地策略第3部分| Node.js

In this article, we will look at another form of authentication called the OAuth authentication which involves sign in or signup using social media.

在本文中,我们将介绍另一种身份验证形式,称为OAuth身份验证,它涉及使用社交媒体登录或注册

Don't worry that much about the big term OAuth... you'll get familiar with them as you work with Node.js more often.

不用担心OAuth这个大术语...随着您更频繁地使用Node.js,您会熟悉它们。

My goal here is to make it simpler for understanding and implementation.

我的目标是使其更易于理解和实施。

These codes are just to help you get started. So you can edit them at any time to confirm your desires.

这些代码仅是为了帮助您入门。 因此,您可以随时编辑它们以确认您的需求。

Note: You should have a basic understanding of Node.js, Express, MongoDB database and HTML.

注意:您应该对Node.js,Express,MongoDB数据库和HTML有基本的了解。

In this first section, we will set up our Express app with some routes and our HTML form.

在第一部分中,我们将使用一些路线和HTML表单来设置Express应用。

In the second section, we'll finally set up the authentication strategy it's self on Facebook developers platform and tests our code.

在第二部分中,我们最终将在Facebook开发人员平台上自行设置身份验证策略,并测试我们的代码。

Cheers!!!

干杯!!!

Create a new folder for our project where all files will be stored.

为我们的项目创建一个新文件夹,其中将存储所有文件。

Setup your Express Server.

设置您的Express Server。

Require all necessary modules and dependencies.

需要所有必要的模块和依赖项。

Create a file app.js and type the following code,

创建一个文件app.js并输入以下代码,

/*  EXPRESS SETUP  */
const express = require('express');
const app = express();
app.get('/', (req, res) => res.sendFile('index.html', {
root: __dirname
}));
const port = process.env.PORT || 8080;
app.listen(port, () => console.log('App listening on port ' + port));

The code above creates an express server with port 3000 and a route that will read our index.html file.

上面的代码创建了一个带有端口3000的快速服务器,该路由将读取我们的index.html文件。

Next, let's create our simple HTML file... (you can at styles as you wish later).

接下来,让我们创建简单HTML文件...(以后可以按需要设置样式)。

Create a file called index.html in your project folder and type the following HTML code.

在项目文件夹中创建一个名为index.html的文件,然后键入以下HTML代码。

<html>
<head>
<title>Node.js OAuth</title>
</head>
<body>
<center>
<a href=auth/facebook>Sign in with Facebook</a>
</center>
</body>
</html>

Now, let's install passport-facebook and start looking at what we need for our OAuth facebook authentication.

现在,让我们安装Passport-facebook并开始查看OAuth facebook身份验证所需的内容

To install passport module for facebook authentication, run the following command on the terminal.

要安装用于Facebook身份验证的通行证模块,请在终端上运行以下命令。

passport OAuth Facebook Authentication

Let's then configure our strategy and set up routes for success and failure authentication.

然后,让我们配置策略并设置成功和失败身份验证的路由。

Open the app.js file and add the following code below,

打开app.js文件,并在下面添加以下代码,

/*  CONFIGURATION  */
const passport = require('passport');
app.use(passport.initialize());
app.use(passport.session());
//success route
app.get('/success', (req, res) => res.send("You have successfully logged in"));
//error route
app.get('/error', (req, res) => res.send("error logging in"));
passport.serializeUser(function(user, cb) {
cb(null, user);
});
passport.deserializeUser(function(obj, cb) {
cb(null, obj);
});

The code above configures the module and sets up the error and success route.

上面的代码配置模块并设置错误和成功路线。

The success route function runs when authentication is successful while the error route runs when there's an error.

成功路由功能在身份验证成功时运行,而错误路由在出现错误时运行。

So if the user successfully logs in with his or her Facebook account, the web page will display ''you have successfully logged in''

因此,如果用户成功使用他或她的Facebook帐户登录,则网页将显示“您已成功登录”

And that's it guys for the first section of this tutorial...

这就是本教程第一部分的内容...

You can also visit the official website of passport to learn more @ http://www.passportjs.org/

您也可以访问护照的官方网站,以了解更多信息@ http://www.passportjs.org/

Read next: How to setup and use passport OAuth Facebook Authentication (Section 1) | Node.js

阅读下一篇: 如何设置和使用护照OAuth Facebook身份验证(第1节)| Node.js

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

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

翻译自: https://www.includehelp.com/node-js/how-to-setup-and-use-passport-oauth-facebook-authentication-section-1-node-js.aspx

node oauth2验证

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

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

相关文章

RYU控制器安装`

2019独角兽企业重金招聘Python工程师标准>>> 同样是参考了http://linton.tw/2014/02/11/note-how-to-set-up-ryu-controller-with-gui-component/的内容。 1. 由于Ubuntu中自带有Python&#xff0c;因此直接开始安装pip apt-get install python-pip apt-get i…

数据库连接池的设计思路及java实现

2019独角兽企业重金招聘Python工程师标准>>> connectionPool.DBConnectionManager [java] view plain copy package connectionPool; import java.sql.Connection; import java.sql.Driver; import java.sql.DriverManager; import java.sql.SQLException; i…

窄带物联网(NB-IoT)初步了解

哪有什么天生如此&#xff0c;只是我们天天坚持。既然总有人要赢的话&#xff0c;为什么不能是我呢&#xff1f;[TOC] 什么是NB-Iot? 基于蜂窝的窄带物联网&#xff08;Narrow Band Internet of Things, NB-IoT&#xff09;成为万物互联网络的一个重要分支。NB-IoT构建于蜂窝网…

JavaOne大事纪:IBM谈OpenJ9和Open Liberty

JavaOne大会以IBM陈述其最近对开源社区的贡献作为开场&#xff1a;OpenJ9、Open Liberty和MicroProfile。IBM杰出工程师John Duimovich做了“IBM和Java&#xff1a;助力下一代创新”的开场演讲。\\读者可以回看演讲视频。\\Duimovich说IBM之所以致力于推动Java生态系统的创新&a…

c语言格式对齐填充_C ++中类的大小 课堂上的填充和对齐| 派生类的大小

c语言格式对齐填充Prerequisite: 先决条件&#xff1a; sizeof() operator in C/C C / C 中的sizeof()运算符 Size of struct in C C中的struct大小 We know that a struct size is not only the summation of all the data members, rather its the minimum sum guaranteed. …

ELK系列~对fluentd参数的理解

这段时候一直在研究ELK框架&#xff0c;主要集成在对fluentd和nxlog的研究上&#xff0c;国内文章不多&#xff0c;主要看了一下官方的API&#xff0c;配合自己的理解&#xff0c;总结了一下&#xff0c;希望可以帮到刚入行的朋友们&#xff01; Fluentd&#xff08;日志收集与…

css 文本背景色透明_如何使用CSS将文本或图像的背景设置为透明?

css 文本背景色透明Introduction: 介绍&#xff1a; In web development, there are numerous ways by which we can style our websites or web pages. You can make use of lots of properties for creating attractive and responsive websites. 在Web开发中&#xff0c;我…

一次前端笔试总结

1.有一个长度未知的数组a&#xff0c;如果它的长度为0就把数字1添加到数组里面&#xff0c;否则按照先进先出的队列规则让第一个元素出队。 分析&#xff1a;这道题主要是考核了数组的队列方法和栈方法。另外&#xff0c;原题还有字数限制的&#xff0c;只有在字数小于30并且结…

SSL

今天遇到一位网友要求老蒋将他当前已经在使用的WDCP面板环境&#xff0c;给某个站点添加SSL证书&#xff0c;实现HTTPS网址访问。在过去的几篇文章中&#xff0c;老蒋也有分享过不少在Linux VPS中对应的WEB环境安装SSL证书的经历&#xff0c;其实总体来看都大同小异&#xff0c…

应用宝认领应用

2019独角兽企业重金招聘Python工程师标准>>> 【Android】命令行jarsigner签字和解决找不到证书链错误 1、签名失败 $jarsigner -verbose -keystore /Volumes/Study/resourcesLib/Qunero-achivements/AndroidApp/QuLordy-signed-key -signedjar ./signed_XiaomiVerif…

Squid服务日志分析

Squid服务日志分析 Apache 和 Squid 是两种著名的代理缓存软件&#xff0c;但Squid 较 Apache 而言是专门的代理缓存服务器软件&#xff0c;其代理缓存的功能强大&#xff0c;支持 HTTP/1.1 协议&#xff0c;其缓存对象也较多&#xff1b;并且 Squid 的缓存管理模块和访问控制模…

云时代 揭开性能监测战略的隐秘优势

云时代的性能监测战略 能够对各种变化做出快速响应而不偏离重心和企业发展动力&#xff0c;正逐渐成为各行各业、各种规模企业的奋斗目标。业务敏捷性通常是运营良好&#xff0c;可实现盈利的企业标志。实现这一目标意味着公司已经成功地利用业务关键型技术来提高生产率&#x…

聊聊全站HTTPS带来的技术挑战

日前写的文章里了讨论了数据传输的安全性的问题&#xff0c;最后一部分提到了通过HTTPS解决数据传输安全性的方案。那么一个新问题又来了&#xff0c;实施全站HTTPS的过程中&#xff0c;我们可能会遇到哪些技术问题?所以我今天和大家一起来算一下这个账&#xff0c;将技术成本…

4.3/4.4 磁盘分区

2019独角兽企业重金招聘Python工程师标准>>> 添加虚拟磁盘 第一步&#xff0c;选择虚拟机中的“设置” 第二步&#xff0c;选择“添加硬盘” 第三步&#xff0c;选择_SCSI &#xff08;推荐&#xff09; # 保持默认 第四步&#xff0c;选择“创建新的虚拟磁盘…

RoboMaster 2017:机器人版的「王者农药」,工程师们的竞技时代

8月6日晚&#xff0c;第十六届全国大学生机器人大赛 RoboMaster 2017机甲大师赛在华润深圳湾体育中心“春茧”体育馆举行&#xff0c;关于这个比赛的盛况已经无需赘述&#xff0c;去年雷锋网参加上届比赛时&#xff0c;报道的是「像看了一场演唱会」&#xff0c;如果用演唱会来…

【初学者必读】:前端工程师的知识体系

下图是前端工程师图解&#xff1a; 前端开发的核心是HTML CSS JavaScript。本质上它们构成一个MVC框架&#xff0c;即HTML作为信息模型&#xff08;Model&#xff09;&#xff0c;CSS控制样式&#xff08;View&#xff09;&#xff0c;JavaScript负责调度数据和实现某种展现逻…

使用Prometheus监控Cloudflare的全球网络

Matt Bostock在SRECON 2017欧洲大会的演讲中&#xff0c;介绍了如何使用Prometheus实现对CloudFlare分布于全球的架构和网络的监控。Prometheus是一种基于度量进行监控的工具&#xff0c;CloudFlare是一家CDN、DNS和DDoS防御&#xff08;Mitigation&#xff09;服务提供商。\\基…

开始吧

2019独角兽企业重金招聘Python工程师标准>>> 写C三年有余&#xff0c;在技术方面也算小有所成。准备在这里分享一些C进阶、Python、Golang技术文章。 CSDN博客地址&#xff1a; http://blog.csdn.net/godmaycry 以后博客同步更新。 转载于:https://my.oschina.net/u…

Exchange server 2013(十四)WSUS部署及组策略设置(2)

我们继续上一节未完的博客&#xff0c;继续我们的WSUS设置。[上一章节标题&#xff1a;Exchange server 2013(十四)WSUS部署及组策略设置(1) 网址&#xff1a;http://1183839.blog.51cto.com/blog/1173839/1182366] 首先单击自动审批,来修改审批规则,也就是说当wsus侦测到新的更…

用MATLAB结合四种方法搜寻罗马尼亚度假问题

选修了cs的AI课&#xff0c;开始有点不适应&#xff0c;只能用matlab硬着头皮上了&#xff0c;不过matlab代码全网仅此一份&#xff0c;倒有点小自豪。 一、练习题目 分别用宽度优先、深度优先、贪婪算法和 A*算法求解“罗马利亚度假问题”。具体地图我这里不给出了&#xff0c…