美文网首页
指南真简单教程 —— HTTP Basic鉴权框架

指南真简单教程 —— HTTP Basic鉴权框架

作者: holyhigh2 | 来源:发表于2020-12-06 22:42 被阅读0次

标准/规范

RFC7617

概念

HTTP基本鉴权框架提供了一种通过HTTP Header发送用户名/密码信息到服务器进行登录的简单身份鉴定方法。同时定义了与方法匹配的交互方式,比如鉴权失败时服务器应返回401状态码
由于不使用form提交也不会出现在请求体内容中,减少了一部分CSRF攻击可能性,更重要的是支持跨域授权(比如OAuth2.0),常用于需要开放资源给域外客户的场景。

实现

一个标准的HTTP Basic Auth头规则并不复杂

Authorization: Basic aG9seWhpZ2g6aGlnaGx5aG9sZQ==
  • 协议头为:标准HTTP协议值 Authorization
  • 协议内容为:(Basic scheme(方案) + 空格*1 + 鉴权信息)三部分组成
  • 鉴权信息为:经过Base64编码的 username:password 格式的字符串,比如上例进行解码后的身份信息为
    holyhigh:highlyhole
    

风险

  1. 显然,Base64并不属于加密范畴,明码传输很容易被拦截,所以这种方法通常会与TLS一起使用
  2. 相比跨域登录,基本鉴权更适合数据交换场景,比如将访问码放在header中进行资源请求。但如果作为同域内的登录方式 —— 比如独立构建的web服务请求资源服务授权是可以的
  3. 如果你已经确定将基本鉴权作为跨域数据交换的方式,显然,你需要对协议值进行各种程度的加密处理,比如与基础鉴权相关的摘要鉴权(Digest Access Authentication)。当然,你还有其他选择:OAuth2.0JWT

相关文章

网友评论

      本文标题:指南真简单教程 —— HTTP Basic鉴权框架

      本文链接:https://www.haomeiwen.com/subject/lpfawktx.html