安全认证全解析:从Basic到OAuth

One Time Password一次性密码

Basic Authentication 基本认证

是http协议内置的最简单的身份认证方式,常用与内网接口、测试环境、简单后台鉴权。

公网必须用HTTPS

客户端将用户名和密码拼接成字符串(admin:123456 base64编码: YWRtaW46MTIzNDU2)

放在请求头Authorization中,格式:Basic 编码后的字符串

如: Authorization: Basic YWRtaW46MTIzNDU2

服务端拿到后解码,校验用户名和密码是否正确

校验通过则正常相应,失败返回401 Unauthorized

服务器验证返回相应的资源和处理结果

Token Authentication 令牌认证

方案1:JWT(无状态Token)

方案2: 随机Token+Redis(有状态)

小型项目、简单系统:用JWT

大型项目、需要注销、踢人:Redis+随机Token

用户提交账号密码,登录成功返回令牌(如:JWT)

前端把Token存在LocalStorage/SessionStorage/Cookie中

前端端每次请求请求头带上Token

放在请求头Authorization中,格式:Bearer token

如果令牌是有效的就认为客户已经登录过了

从令牌中提取客户的非敏感关键信息(如:用户编号)

根据用户信息查询用户所拥有的资源返回结果

OAuth Authentication 第三方授权登录

OAuth不是登录,是授权

微信登录、QQ登录、Github登录、Google登录

OAuth不传递账号密码,只传递授权凭证

OAuth里常见的三个令牌

code(授权码):一次性,换token用

access_token:短期,用来访问用户资源

refresh_token: 长期,access_token过期后刷新用

用户点击微信登录

跳转到微信授权页

用户同意授权

微信返回授权码code给客户端

客户端拿着code去微信换取access_token拉取用户信息

登录成功,客户端自己生成JWT/Session给用户

API Key Authentication

相关推荐
DaLi Yao9 小时前
【无标题】
人工智能·安全
Alsn8610 小时前
等待学习-学习目录:Docker 容器安全攻防
学习·安全·docker
网络研究院10 小时前
2026年网络安全
网络·安全·法律·法规·趋势·发展
treesforest10 小时前
AI安全系统如何识别异常访问?IP风险识别正在成为关键能力
网络·人工智能·tcp/ip·安全·web安全
零零信安11 小时前
零零信安荣登数世咨询《新质·数字安全专精百强(2026)》暗网情报领域,彰显专业实力与创新引领
安全·网络安全·数据泄露·暗网·零零信安
开发小能手-roy11 小时前
StringBuilder vs StringBuffer:2024年还需要线程安全字符串吗?
开发语言·python·安全
_阿伟_12 小时前
JWT介绍
安全
zhengfei61113 小时前
小白级手册——全面剖析红队信息收集思考
网络·安全·web安全
qq_4523962315 小时前
第十三篇:《K8s 安全基础:RBAC、ServiceAccount、Pod Security》
java·安全·kubernetes
TechWayfarer15 小时前
苏超赛事网站安全防护:WAF、DDoS与仿冒页面如何联动治理
网络·python·安全·flask·ddos