OAuth2简介 #

一、OAuth2概述 #

1.1 什么是OAuth2 #

OAuth2是一个开放标准,允许用户授权第三方应用访问其在另一个服务上的资源。

text
┌─────────────────────────────────────────────────────────────┐
│                    OAuth2角色                                │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│   ┌─────────────┐                                          │
│   │   Client    │  第三方应用                               │
│   │  (客户端)   │                                          │
│   └──────┬──────┘                                          │
│          │                                                  │
│          ▼                                                  │
│   ┌─────────────┐  ┌─────────────┐                        │
│   │Resource     │  │Authorization│                        │
│   │ Owner       │  │ Server      │                        │
│   │ (资源所有者) │  │ (授权服务器) │                        │
│   └─────────────┘  └──────┬──────┘                        │
│                           │                                 │
│                           ▼                                 │
│                   ┌─────────────┐                          │
│                   │ Resource    │                          │
│                   │ Server      │                          │
│                   │ (资源服务器) │                          │
│                   └─────────────┘                          │
│                                                             │
└─────────────────────────────────────────────────────────────┘

1.2 核心概念 #

概念 说明
Client 第三方应用
Resource Owner 用户
Authorization Server 授权服务器
Resource Server 资源服务器
Access Token 访问令牌

二、授权模式 #

2.1 授权码模式 #

text
1. 用户访问客户端
2. 客户端重定向到授权服务器
3. 用户授权
4. 授权服务器返回授权码
5. 客户端用授权码换取令牌

2.2 密码模式 #

text
1. 用户提供用户名密码给客户端
2. 客户端发送用户名密码到授权服务器
3. 授权服务器返回令牌

2.3 客户端模式 #

text
1. 客户端发送凭证到授权服务器
2. 授权服务器返回令牌

2.4 刷新令牌模式 #

text
1. 客户端发送刷新令牌
2. 授权服务器返回新的访问令牌

三、模式对比 #

模式 安全性 适用场景
授权码 Web应用
密码 受信任应用
客户端 后端服务
刷新令牌 - 令牌续期

四、总结 #

要点 说明
角色 客户端、用户、授权服务器、资源服务器
授权码模式 最安全,推荐使用
密码模式 适用于受信任应用

接下来让我们学习 认证服务器

最后更新:2026-03-28