当前位置: 首页 > news >正文

前端面试题-token的登录流程、JWT

这是我的前端面试题的合集的第一篇,后面也会更新一些笔试题目。秋招很难,也快要结束了。但是,不要放弃,一起加油^_^


一、token的登录流程

1.客户端用账号密码请求登录

2.服务端收到请求,需要去验证账号密码

3.验证成功后,服务端发一个token,把这个token发送给客户端

4.客户端收到token后保存起来,可以存在cookie或者localstorage

5.客户端每次为服务器发送请求资源时,都需要携带这个token

6.服务端收到请求,接着去验证客户端的token,验证成功则返回客户端请求的数据

二、了解JWT吗?JWT的认证流程

JWT全称为JSON WEB Token

通过JSON形式作为web应用中的令牌,用于各方之间安全地把信息用JSON对象传输

可以作信息传输、授权

JWT的认证流程

1.前端把账号密码发送给后端接口

2.后端核对账号密码成功后,把用户id等其它信息作为JWT负载,把它和头部分别进行base64编码拼接后签名,形成一个token->JWT

3.前端每次请求时都会把JWT放在HTTP请求头的Authorization字段内

4.后端检查是否存在JWT,如果存在就验证JWT(签名是否正确,token是否过期)

5.验证通过后后端使用JWT中包含的用户信息进行其他操作,并返回对应结果

JWT的特点 

简洁,包含性,跨语言的(token用JSON加密形式保存,原则上是任何web形式都支持)


加油加油^_^

相关文章:

前端面试题-token的登录流程、JWT

这是我的前端面试题的合集的第一篇,后面也会更新一些笔试题目。秋招很难,也快要结束了。但是,不要放弃,一起加油^_^ 一、token的登录流程 1.客户端用账号密码请求登录 2.服务端收到请求,需要去验证账号密码 3.验证成…...

【软考高级架构】关于分布式数据库缓存redis的知识要点汇总

一.分布式数据库的含义 分布式数据库缓存指的是在高并发的环境下,为了减轻数据库的压力和提高系统响应时间,在数据库系统和应用系统之间增加一个独立缓存系统。 二.常见的缓存技术 (1)MemCache: Memcache是一个高性能的分布式的内…...

构建自然灾害预警决策一体化平台,筑牢工程安全数字防线

近年来,国家和部委也强调了要切实加强地质灾害监测预警。作为国内智慧应急领域的先行者,Mapmost持续探索利用数字孪生技术,推进自然灾害风险预警精细化,强化对监测数据的综合分析和异常信息研判处置。建立健全区域风险预警与隐患点…...

随机题两题

逆序对 题目 给定一个数组,求其中有多少逆序对,要求时间复杂度不超过nlogn。 思路 使用归并排序的分治思想,将数组递归地分为左右两部分。在合并两个有序子数组时,若左侧数组中的某个数大于右侧数组中的某个数,则可…...

信息安全工程师(69)数字水印技术与应用

前言 数字水印技术是一种在数字媒体中嵌入特定信息的技术,这些信息可以是版权信息、元数据等。 一、数字水印技术的定义与原理 数字水印技术(Digital Watermarking)是将一些标识信息(即数字水印)直接嵌入数字载体&…...

知识点框架笔记3.0笔记

如果基础太差,搞不清基本交规的(模考做不到60分),建议找肖肖或者小轩老师的课程看一遍,内容差不多(上面有链接),笔记是基于肖肖和小轩老师的科目一课程以及公安部交管局法规&#xf…...

Android组件化开发

Android组件化开发 组件化开发概念组件化开发的由来组件化开发有什么优势?组件化开发如何拿到入口参数?如何解决相同资源文件名合并的冲突?模式切换,如何使APP在单独调试跟整体调试自由切换?多个Module之间如何引用一些共同的library以及工具类?我们如何实现依赖关系及组…...

centos-LAMP搭建与配置(论坛网站)

文章目录 LAMP简介搭建LAMP环境安装apache(httpd)安装mysql安装PHP安装php-mysql安装phpwind LAMP简介 LAMP是指一组通常一起使用来运行动态网站或者服务器的自由软件名称首字母缩写:Linux操作系统,网页服务器Apache,…...

Python 实现日期计算与日历格式化输出

目录 一、引言 二、需求分析 三、实现思路 四、代码实现 五、代码分析 六、测试与验证 七、总结与展望 在日常的编程中,我们经常会遇到与日期相关的问题,比如计算两个日期之间的天数差、确定某个特定日期是星期几以及格式化输出日历等。本文将详细…...

npm install 安装很慢怎么办?

安装源管理器nrm sudo npm install -g nrm #macOSnpm install -g nrm #Windows以管理员身份运行 安装完毕之后通过以下命令可以切换你想要的源 nrm ls #查看源列表* npm ---------- https://registry.npmjs.org/yarn --------- https://registry.yarnpkg.com/tencent ------…...

【WRF数据处理】基于GIS4WRF插件将geotiff数据转为tiff(geogrid,WPS所需数据)

【WRF数据处理】基于GIS4WRF插件将geotiff数据转为tiff(geogrid,WPS所需数据) 数据准备:以叶面积指数LAI为例QGis实操:基于GIS4WRF插件将geotiff数据转为tiff警告:GIS4WRF: Input layer had an unexpected …...

python+大数据+基于Hadoop的个性化图书推荐系统【内含源码+文档+部署教程】

博主介绍:✌全网粉丝10W,前互联网大厂软件研发、集结硕博英豪成立工作室。专注于计算机相关专业毕业设计项目实战6年之久,选择我们就是选择放心、选择安心毕业✌ 🍅由于篇幅限制,想要获取完整文章或者源码,或者代做&am…...

修改huggingface的缓存目录以及镜像源

执行以下语句查看当前配置 huggingface-cli env默认输出应该如下 (py39-transformers) PS D:\py_project\transformers_demo> huggingface-cli envCopy-and-paste the text below in your GitHub issue.- huggingface_hub version: 0.26.1 - Platform: Windows-10-10.0.22…...

散列表:如何解决哈希表装载因子过高导致的性能下降问题?

散列表:如何解决哈希表装载因子过高导致的性能下降问题? 当哈希表装载因子过高时,会导致性能下降,可以通过以下几种方法来解决: 一、扩容哈希表 (一)原理 当装载因子超过一定阈值时,增加哈希表的大小,然后将现有的元素重新哈希到新的哈希表中。这样可以降低装载因…...

Vue Router进阶学习

各位程序员1024节日快乐~ Vue Router 是 Vue.js 的官方路由管理器,它和 Vue.js 的核心深度集成,让构建单页面应用(SPA)变得简单。以下是 Vue Router 的基本用法 Vue Router 基本用法 安装 Vue Router 首先,你需要安…...

Linux巡检利器xsos的安装和使用

一、 一般项目基本完成的时候,后期运维工作的重点就是及时的,合理的频率巡检了,巡检的目的主要是及时发现各种各样的问题 那么,自己编写shell脚本是大部分人的第一选择,这里有个比较麻烦的地方,shell脚本…...

Django+Vue项目搭建

一、使用脚手架工具搭建项目 使用脚手架工具搭建Vue项目是一个快速且高效的方式,它能够帮助开发者自动配置好项目所需的环境和依赖。 一、安装Node.js和npm 1、下载Node.js: 前往Node.js官网下载并安装最新版本的Node.js。Node.js是一个基于Ch…...

【NLP自然语言处理】Attention机制原理揭秘:赋予神经网络‘聚焦’与‘理解’的神奇力量

目录 🍔 注意力机制原理 1.1 注意力机制示意图 1.2 Attention计算过程 1.3 Attention计算逻辑 1.4 有无Attention模型对比 1.4.1 无Attention机制的模型 1.4.2 有Attention机制的模型 🍔 Self-attention演变过程 2.1 Self-attention介绍 2.2 S…...

PHP依赖注入的原理

PHP中的依赖注入(Dependency Injection,简称DI)是一种设计模式,旨在解耦和管理对象之间的依赖关系,使得代码更加灵活、可测试和可维护。其原理及关键要点如下: 一、原理 依赖注入的原理是通过外部传递依赖…...

文本相似度方案

文章目录 SequenceMatcher余弦相似度基于逆向文档频率向量化 SequenceMatcher from difflib import SequenceMatcher s1 "1.2 章节标题【abc】" s2 "1.2 章节标题【abc】、【she】、【this】" SequenceMatcher(None, s1, s2).ratio() # 0.6666666666666…...

Leetcode 3577. Count the Number of Computer Unlocking Permutations

Leetcode 3577. Count the Number of Computer Unlocking Permutations 1. 解题思路2. 代码实现 题目链接:3577. Count the Number of Computer Unlocking Permutations 1. 解题思路 这一题其实就是一个脑筋急转弯,要想要能够将所有的电脑解锁&#x…...

【机器视觉】单目测距——运动结构恢复

ps:图是随便找的,为了凑个封面 前言 在前面对光流法进行进一步改进,希望将2D光流推广至3D场景流时,发现2D转3D过程中存在尺度歧义问题,需要补全摄像头拍摄图像中缺失的深度信息,否则解空间不收敛&#xf…...

工程地质软件市场:发展现状、趋势与策略建议

一、引言 在工程建设领域,准确把握地质条件是确保项目顺利推进和安全运营的关键。工程地质软件作为处理、分析、模拟和展示工程地质数据的重要工具,正发挥着日益重要的作用。它凭借强大的数据处理能力、三维建模功能、空间分析工具和可视化展示手段&…...

Java-41 深入浅出 Spring - 声明式事务的支持 事务配置 XML模式 XML+注解模式

点一下关注吧!!!非常感谢!!持续更新!!! 🚀 AI篇持续更新中!(长期更新) 目前2025年06月05日更新到: AI炼丹日志-28 - Aud…...

VTK如何让部分单位不可见

最近遇到一个需求&#xff0c;需要让一个vtkDataSet中的部分单元不可见&#xff0c;查阅了一些资料大概有以下几种方式 1.通过颜色映射表来进行&#xff0c;是最正规的做法 vtkNew<vtkLookupTable> lut; //值为0不显示&#xff0c;主要是最后一个参数&#xff0c;透明度…...

多模态大语言模型arxiv论文略读(108)

CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文标题&#xff1a;CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文作者&#xff1a;Sayna Ebrahimi, Sercan O. Arik, Tejas Nama, Tomas Pfister ➡️ 研究机构: Google Cloud AI Re…...

OpenLayers 分屏对比(地图联动)

注&#xff1a;当前使用的是 ol 5.3.0 版本&#xff0c;天地图使用的key请到天地图官网申请&#xff0c;并替换为自己的key 地图分屏对比在WebGIS开发中是很常见的功能&#xff0c;和卷帘图层不一样的是&#xff0c;分屏对比是在各个地图中添加相同或者不同的图层进行对比查看。…...

Java求职者面试指南:Spring、Spring Boot、MyBatis框架与计算机基础问题解析

Java求职者面试指南&#xff1a;Spring、Spring Boot、MyBatis框架与计算机基础问题解析 一、第一轮提问&#xff08;基础概念问题&#xff09; 1. 请解释Spring框架的核心容器是什么&#xff1f;它在Spring中起到什么作用&#xff1f; Spring框架的核心容器是IoC容器&#…...

JVM 内存结构 详解

内存结构 运行时数据区&#xff1a; Java虚拟机在运行Java程序过程中管理的内存区域。 程序计数器&#xff1a; ​ 线程私有&#xff0c;程序控制流的指示器&#xff0c;分支、循环、跳转、异常处理、线程恢复等基础功能都依赖这个计数器完成。 ​ 每个线程都有一个程序计数…...

基于Java+VUE+MariaDB实现(Web)仿小米商城

仿小米商城 环境安装 nodejs maven JDK11 运行 mvn clean install -DskipTestscd adminmvn spring-boot:runcd ../webmvn spring-boot:runcd ../xiaomi-store-admin-vuenpm installnpm run servecd ../xiaomi-store-vuenpm installnpm run serve 注意&#xff1a;运行前…...