安全认证全解析:从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

相关推荐
m0_738120723 小时前
Webshell流量分析——常见扫描器AWVS,goby,xray流量特征分析
服务器·前端·安全·web安全·网络安全
FeelTouch Labs12 小时前
一款代码安全治理平台应该具备的能力
安全
Rytter14 小时前
某气骑士 libtprt.so 反 Frida 机制分析与绕过
android·安全·网络安全
一切皆是因缘际会15 小时前
从概率生成到内生心智:2026大模型瓶颈与下一代AI演进方向
人工智能·安全·ai·架构
铁皮饭盒15 小时前
第2课:5分钟!用 Trae AI 生成你的第一个后端服务(Bunjs + Elysia)
前端·后端·全栈
@insist12316 小时前
信息安全工程师-入侵检测核心技术、APT 应对与工程实践
网络·安全·软考·信息安全工程师·软件水平考试
西洼工作室17 小时前
unipp+vue3+python h5+app极验验证码集成全流程解析
前端·uni-app·全栈·极验
计算机安禾18 小时前
【计算机网络】第6篇:虚拟局域网——基于标签的广播域划分及其安全边界
计算机网络·安全·php