HTTP 基本认证 HttpBasic

HTTP 的认证机制

基本认证、摘要认证

一、基本认证

BASE64算法加密后的字符串放在HTTP Request中的Header Authorization中发送给服务端, 这种方式叫HTTP基本认证(Basic Authentication)

Basic认证是一种较为简单的HTTP认证方式,客户端通过明文(Base64编码格式)传输用户名和密码到服务端进行认证,通常需要配合HTTPS来保证信息传输的安全。

HTTP 基本认证 HttpBasic_第1张图片

 

HTTPBasic是由HTTP协议定义的最基础的认证方式。每次请求时,在请求头Authorization参数中附带用户/密码的base64编码。这个方式并不安全,不适合在web项目中使用。但它是一些现代主流认证的基础,而且在spring security的oauth中,内部认证默认就是用的HTTPBasic

请求流程

request第一次到达服务器时,服务器没有认证的信息,服务器会返回一个401 Unauthozied给客户端。
认证之后将认证信息放在session,以后在session有效期内就不用再认证了

二、请求原理 

 

HTTP 基本认证 HttpBasic_第2张图片

 

我们可以看到在 WWW-Authenticate 这个Header里面有 Basic:说明需要基本认证,realm:说明客户端需要输入这个安全区的用户名和密码。

浏览器弹出输入用户名/密码的弹窗,并将其拼接成“用户名:密码”格式,中间是一个冒号,再用base64编码成xxx,然后在请求头中附加Authorization:Basic xxx,发给后台认证。后台需要用base64解码xxx,再认证用户名/密码。

三、postman请求方式

1、base64 加密

格式:

用户名:密码

例如:账号:admin;密码:123

base64 加密:

YWRtaW46MTIz

使用postman模拟请求 :value 值:Basic YWRtaW46MTIz

HTTP 基本认证 HttpBasic_第3张图片

 二、账号密码

HTTP 基本认证 HttpBasic_第4张图片

 四、注销

1、关闭浏览器销毁

2、配置错的Authorization

你可能感兴趣的:(http)