Skip to Content
Node与Express开发(第2版)
book

Node与Express开发(第2版)

by Ethan Brown
June 2021
Intermediate to advanced
290 pages
9h 21m
Chinese
Posts & Telecom Press
Content preview from Node与Express开发(第2版)
204
|
第
18
章
不过,第三方认证也有其不足之处。尽管难以置信,还是存在着一些没有谷歌、
Facebook
、
Twitter
或
Linked
In
账号的人。就算拥有这些账号,但出于不信任(或隐私)的原因,也有
可能有些人不愿意使用这些账号登录你的网站。对于第三方认证的不足这个问题,很多网
站会鼓励用户使用一个已有的账号,同时对于那些没有账号(或者不想使用这些账号来访
问你的服务)的人,允许他们创建一个新的账号。
18.3.4
 在数据库里存储用户信息
不管是否依靠一个第三方来认证用户,你都希望在自己的数据库里记录用户的信息。例
如,如果使用
Facebook
认证
,那么验证的只是用户的
ID
。但如果需要保存这个用户的一
些设置,就不能通过
Facebook
认证做到,
而是必须把这个用户的信息存储到你自己的数据
库里。还有,很可能你会希望给用户关联一个电子邮件地址,而用户也许不希望使用已经
用于
Facebook
(或任何你使用的第三方认证服务)的那个电子邮件地址
。最后,把用户信
息存储进数据库,再自己执行认证,前提是你愿意提供这个选择。
既然如此,先创建一个用户模型
models/user
.js
:
const mongoose = require('mongoose')
const userSchema = mongoose.Schema({
authId: String,
name: String,
email: String,
role: String,
created: Date,
})
const User ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

面向对象的思考过程(原书第5版)

面向对象的思考过程(原书第5版)

马特 魏斯费尔德
精通模块化JavaScript

精通模块化JavaScript

Nicolás Bevacqua

Publisher Resources

ISBN: 9787115565099