NOTE

2.13 如何设计认证授权

1. 什么是认证授权 - 认证:当前用户的身份,解决我是谁的问题 - 授权:什么样的身份被允许访问某些资源,解决我能做什么的问题 - 凭证:认证和授权的基础,一种标记访问者的身份或权利的媒介 2. 为什么要认证授权 安全 3. 认证授权技术 3.1. 认证技术 3.1.1. HTTP认证 Base6

Software Architecture & Engineering创建于 更新于 historical

这是历史学习笔记,可能存在过时或不完整的理解。

1. 什么是认证授权

  • 认证:当前用户的身份,解决我是谁的问题
  • 授权:什么样的身份被允许访问某些资源,解决我能做什么的问题
  • 凭证:认证和授权的基础,一种标记访问者的身份或权利的媒介

2. 为什么要认证授权

安全

3. 认证授权技术

3.1. 认证技术

3.1.1. HTTP认证

Base64.md(关联笔记尚未公开) 缺点:Base64 只能称为编码,而不是加密 场景:路由器等管理后台

3.1.2. HMAC(AK/SK)认证

安全.md(关联笔记尚未公开)中的消息认证码

缺点:密钥不能泄露 场景:服务端之间认证

3.1.3. OpenId Connect

3.2. 授权技术

3.2.1. OAuth

3.3. 凭证技术

  • cookie和session.md(关联笔记尚未公开)

3.3.2. JWT

4. 微服务架构如何接入认证授权

4.1. 认证

如何设计用户注册登录功能.md(关联笔记尚未公开) 认证授权

4.2. 授权

使用OAuth2

4.3. 凭证

Cookie Session

5. 认证授权组件

5.1. Spring Security OAuth2

6. 参考