postman鉴权总结
admin
2024-05-23 19:04:27
0

鉴权:指用户是否有访问系统的权利。

传统鉴权:通过密码来验证,他对用户时,为用户分配一个密码,或者用户自己申请,每个获得密码的用户,都已经被授权。

缺点:只要获取到用户密码,就会拥有权限身份。只能通过管理员修改用户密码,在这之前,还需要人工校验用户的合法身份。

主流鉴权:通过认证授权来验证数字签名是否正确,授权发生在鉴权之后。

二、鉴权类型

  1. HTTP Basic Authentication(HTTP基本认证)

  1. HTTP自带的权限控制和认证机制

  1. 访问者需要输入密码才能访问页面,否则返回401错误;

  1. 通过认证的方式

GET:URL上带入用户名和密码

POST:在Header中添加Authorization,值为Base64加密后的串

  1. 一种不安全的认证机制

  1. session + cookie验证

  1. Token验证

  1. OAuth(开放授权)

三、Cookie

  1. 客户端发送请求至服务器

  1. 服务器返回给客户端一个cookie

  1. 客户端保存该cookie,再次发请求至服务器,携带该cookie

  1. 服务器检查客户端传来的cookie是否与当初发送给客户端的一致

  1. 一致,则返回响应体;不一致,则返回失败

四、Session

  1. 客户端发起请求至服务器,服务器生成一个Session 和Session ID

  1. 服务器将响应内容和该sessionID(即Cookie)发送至客户端

  1. 客户端再次发起请求,携带该sessionID(即Cookie)与请求内容一并发送至服务器

  1. 服务器提取客户端发送的sessionID(即Cookie),与保存的Session ID对比

五、Token

  1. 服务器生成的一串字符串,是用户身份的验证方式

  1. 由uid、time、sign组成

  1. uid:用户唯一的身份标识

  1. time:当前时间的时间戳

  1. sign:签名,由token前几位 + 复杂算法的十六进制字符串组成

  1. 验证原理

  1. 客户端登录(用户名+密码)

  1. 服务器验证用户名和密码,成功后,签发一个Token,并回传给客户端

  1. 客户端收到Token后,进行存储,放在cookie、header或者Local Storage里

  1. 客户端每次发送请求,都携带该Token

  1. 服务器验证Token,通过,则返回响应内容;不通过,返回失败信息

六、OAuth(Open Authorization)

  1. 是一种开放授权协议,允许第三方应用程序使用资源所有者的凭据获得对资源的访问权限

  1. 四个角色

  1. 资源拥有者

  1. 资源服务器

  1. 客户端

  1. 授权服务器

  1. 四种授权模式

  1. 授权码模式:功能最完整、流程最严密

  1. 简化模式

  1. 密码模式

  1. 客户端模式

  1. 原理

  1. 客户端(Client)向资源所有者(Resource Owner)请求授权

  1. 客户端收到用户授权(资源所有者授权的凭证(Authorization))

  1. 客户端通过与授权服务器(Authorization Server)进行身份验证,并提供授权凭证来获取访问令牌(Access Token)

  1. 授权服务器对客户端进行身份验证并验证授权许可,有效,则发送访问令牌(Access Token)

  1. 客户端通过资源服务器访问受保护的资源,并通过访问令牌进行身份验证

  1. 资源服务器验证访问令牌,有效,则为请求提供服务

七、登录方式

  1. 多点登录

  1. 不同网站都有每个网站自己的用户和密码(不同数据库,不同登录模块),各站点的登录状态相互不认可,各站点需要手工逐一登录

  1. 流程

认证、授权

  1. 单点登录(Single Sign On)SSO

  1. 各站点共用一台认证服务器。用户登录任何一个站点,其他站点可免登录,且各站点可通过登录站点的登录状态进行直接交互。

  1. 简单来说,用户一次登录,即可访问所有相关联的系统,但仅限于登录访问,不负责授权。

相关内容

热门资讯

育碧GDC2018程序化大世界... 1.传统手动绘制森林的问题 采用手动绘制的方法的话,每次迭代地形都要手动再绘制森林。这...
编译原理陈火旺版第三章课后题答... 下面答案仅供参考! 1.编写一个对于 Pascal 源程序的预处理程序。该程序的作用是...
MacBookPro M2芯片... MacBookPro M2芯片下如何搭建React-Native环境目录软件下载环境配置 目录 写在...
Android studio ... 解决 Android studio 出现“The emulator process for AVD ...
pyflink学习笔记(六):... 在pyflink学习笔记(一)中简单介绍了table-sql的窗口函数,下面简单介绍下...
创建deployment 创建deployment服务编排-DeploymentDeployment工作负载均衡器介绍Depl...
gma 1.1.4 (2023... 新增   1、地图工具    a. 增加【GetWorldDEMDataSet】。提供了一套 GEO...
AI专业教您保姆级在暗影精灵8... 目录 一、Stable Diffusion介绍    二、Stable Diffusion环境搭建 ...
vue笔记 第一个Vue应用 Document{{content}}{{...
Unity自带类 --- Ti... 1.在Unity中,自己写的类(脚本)的名字不能与Unit...
托福口语21天——day5 发... 目录 一、连读纠音 二、语料输入+造句输出 三、真题 一、连读纠音 英语中的连读方式有好几种...
五、排序与分页 一、排序 1、语法 ORDER BY 字段 ASC | DESC ASC(ascen...
Linux系统中如何安装软件 文章目录一、rpm包安装方式步骤:二、deb包安装方式步骤:三、tar....
开荒手册4——Related ... 0 写在前面 最早读文献的时候,每每看到related work部分都会选择性的忽略&...
实验01:吃鸡蛋问题 1.实验目的: 通过实验理解算法的概念、算法的表示、算法的时间复杂度和空间复杂度分析&...
8个免费图片/照片压缩工具帮您... 继续查看一些最好的图像压缩工具,以提升用户体验和存储空间以及网站使用支持。 无数图像压...
Spring Cloud Al... 前言 本文小新为大家带来 Sentinel控制台规则配置 相关知识,具体内容包括流控...
多项目同时进行,如何做好进度管... 多项目同时进行,如何做好进度管理? 大多数时候,面对项目进...
ATTCK红队评估实战靶场(二... 前言 第二个靶机来喽,地址:vulunstack 环境配置 大喊一声我...
【MySQL基础】3—多表查询 ⭐⭐⭐⭐⭐⭐ Github主页👉https://github.com/A-BigTr...