当前位置: 首页 > 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…...

四川全行业 APP 开发服务商参考

随着四川各行业数字化进程加快,APP 开发覆盖政务、电商、教育、生活服务、企业管理等多元场景,市场服务商在行业适配、技术能力、服务保障上各有侧重。本文结合多行业落地案例、技术全面性、交付稳定性、运维支持能力,整理全行业适配的 APP 开…...

【Midjourney提示词工程高阶实战】:20年AI图像生成专家亲授7大隐性权重控制法则,92%用户从未用过的构图锚点技术

更多请点击: https://intelliparadigm.com 第一章:Midjourney提示词工程高阶认知重构 提示词工程(Prompt Engineering)在 Midjourney 中远非关键词堆砌,而是一场语义结构、视觉语法与模型先验知识的三重对齐。高阶重构…...

Claude Code Session 实战指南:AI 结对编程效能提升手册

1. 项目概述:Claude Code Session 的实战效能提升手册如果你和我一样,日常开发中重度依赖 Claude 这类 AI 编程助手,那你肯定遇到过这样的场景:面对一个复杂的重构任务,你向 Claude 描述了半天需求,它给出的…...

Java集成ChatGPT实战:PlexPt SDK核心功能与生产部署指南

1. 项目概述与核心价值如果你是一名Java开发者,最近正琢磨着怎么在自己的应用里集成ChatGPT的能力,比如做个智能客服、代码助手或者内容生成工具,那你大概率已经搜过一圈了。官方的OpenAI API虽然强大,但直接用在Java项目里&#…...

Flag MCP:终结AI编程猜测循环,实现人类在环的精准控制

1. 项目概述:当AI助手遇到“选择困难症”在AI辅助编程的日常里,我猜你和我一样,都经历过类似的场景:你让AI助手去实现一个功能,比如“给这个用户列表加个搜索框”,然后满怀期待地等着。结果它吭哧吭哧写了一…...

RAG:解锁大语言模型新能力,告别幻觉与知识陈旧!

本文深入解析了检索增强生成(RAG)架构,旨在解决传统大语言模型因知识局限而产生的幻觉、陈旧等问题。RAG通过在生成答案前检索外部知识库,提升回答的准确性和时效性。文章详细介绍了RAG的架构类型(如无微调、检索器微调…...

ARM调试寄存器DBGCLAIMCLR详解与应用

1. ARM调试寄存器概述 在嵌入式系统开发中,调试寄存器是连接开发者和硬件的重要桥梁。作为ARM架构调试系统的核心组件,DBGCLAIMCLR这类专用寄存器提供了底层硬件级别的调试能力。不同于普通的存储器映射寄存器,调试寄存器通过系统寄存器空间进…...

在Windows平台解锁iOS应用的全新体验:ipasim模拟器深度解析

在Windows平台解锁iOS应用的全新体验:ipasim模拟器深度解析 【免费下载链接】ipasim iOS emulator for Windows 项目地址: https://gitcode.com/gh_mirrors/ip/ipasim 想象一下这样的场景:作为一名开发者,你收到一个紧急的iOS应用测试…...

压电定位平台建模与运动控制【附仿真】

✨ 长期致力于压电定位平台、磁滞非线性、反步控制、滑模控制、有限时间控制研究工作,擅长数据搜集与处理、建模仿真、程序编写、仿真设计。 ✅ 专业定制毕设、代码 ✅ 如需沟通交流,点击《获取方式》 (1)Prandtl-Ishlinskii磁滞模…...

openpilot终极指南:从开源机器人操作系统到300+车型自动驾驶辅助实现

openpilot终极指南:从开源机器人操作系统到300车型自动驾驶辅助实现 【免费下载链接】openpilot openpilot is an operating system for robotics. Currently, it upgrades the driver assistance system on 300 supported cars. 项目地址: https://gitcode.com/G…...