IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> nodejs学习记录--前后端身份认证 -> 正文阅读

[JavaScript知识库]nodejs学习记录--前后端身份认证

1. Web开发模式

1.1 服务端渲染的Web开发模式

在这里插入图片描述
优点:
在这里插入图片描述
缺点:
在这里插入图片描述

1.2 前后端分离的Web开发模式

在这里插入图片描述
优点:
在这里插入图片描述
缺点:
在这里插入图片描述

2. 身份认证

在这里插入图片描述

2.1 Session 认证机制

2.1.1 Cookie

cookie是存在浏览器的一段字符串,是键值对。
在这里插入图片描述

2.1.2 Cookie在身份认证中的作用

在这里插入图片描述
因为cookit是存在浏览器中,

2.1.3 Session的工作原理

在这里插入图片描述

2.2 在Express中使用Session认证

2.2.1 安装express-session中间件

命令:

npm install express-session

2.2.2 配置express-session中间件

express-session中间件安装成功后,需要通过app.use()来注册session中间件:

const express = require('express')
const app = express()
//导入session中间件
const session = require('express-session')
//配置中间件
app.use(session({
  secret: 'tbtest',   // secret属性的值可以为任意字符串
  resave:false,       //固定写法
  saveUninitialized: true   //固定写法
}))

2.2.3 向session中存数据

当配置成功后即可通过req.session来访问和使用session对象,从而存储用户的关键信息:
在这里插入图片描述

2.2.4 从session中取数据

在这里插入图片描述

2.2.5 清空session

req.session.destroy()

通常退出登录时使用该函数。
在这里插入图片描述

2.3 JWT认证机制

JWT:(JSON web Token)是目前最流行的跨域认证解决方案。

在这里插入图片描述
在这里插入图片描述
工作原理:

在这里插入图片描述

2.3.1 JWT组成部分

在这里插入图片描述

2.3.1 JWT的使用方式

在这里插入图片描述

2.4 在Express中使用JWT

2.4.1 安装JWT

命令如下:

npm install jsonwebtoken  express-jwt

其中:
jsonwebtoken用于生成JWT字符
express-jwt用于将JWT字符串解析还原成JSON对象

2.4.2 导入JWT

// 1.导入用于生成JWT字符串的包
const jwt = require('jsonwebtoken')
//  2.导入用于将客户端发送过来的JWT字符串,解析还原成JSON对象的包
const expressJWT = require('express-jwt')

2.4.3 定义secret密钥

防止JWT字符串被人破解,我们需要定义一个用于加密和解密的secret密钥。
secret密钥的本质是一个字符串,例如:

const secretKey = 'tbtest hahaha >_<'

2.4.4 在登录成功后生成JWT字符串

调用jsonwebtoken提供的sign()方法将用户信息加密成JWT字符串:
在这里插入图片描述
expiresIn: ‘30s’ : token有效期

2.4.5 将JWT字符串还原为JSON对象

在这里插入图片描述
只要配置成功了express-jwt这个中间件,就可以把解析出来的用户信息挂载到req.user属性上。

2.4.6 捕获解析JWT失败后产生的错误

在这里插入图片描述

  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2022-03-17 22:02:04  更:2022-03-17 22:04:06 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 7:02:58-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码