---
title: "OAuth 2.0 | Tajo"
description: "用于安全第三方集成的 OAuth 2.0 认证"
url: https://tajo.io/zh-cn/docs/authentication/oauth/
markdown: https://tajo.io/zh-cn/docs/authentication/oauth.md
lang: zh-CN
author: "Set Noa"
author_url: https://tajo.io/zh-cn/set-noa/
robots: noindex
---

申请抢先体验

请输入您的名字和公司电子邮箱地址。我们会发送确认 Tajo 访问申请的链接。

# OAuth 2.0

[Set Noa](https://tajo.io/zh-cn/set-noa/)

OAuth 2.0 为第三方应用提供基于令牌的安全认证，让它们代表用户访问 Brevo。

## OAuth 流程概览

1. **授权请求**：将用户重定向到 Brevo
2. **用户授权**：用户授予权限
3. **授权码**：Brevo 携带授权码重定向回来
4. **交换访问令牌**：用授权码换取令牌
5. **API 访问**：使用访问令牌发起请求

## 授权端点

```
https://app.brevo.com/oauth/authorize?
  response_type=code&
  client_id=YOUR_CLIENT_ID&
  redirect_uri=YOUR_REDIRECT_URI&
  scope=email%20contacts&
  state=random_string
```

## 令牌交换

```bash
curl -X POST "https://api.brevo.com/v3/oauth/token" \
  -H "Content-Type: application/x-www-form-urlencoded" \
  -d "grant_type=authorization_code&code=AUTH_CODE&client_id=YOUR_CLIENT_ID&client_secret=YOUR_CLIENT_SECRET&redirect_uri=YOUR_REDIRECT_URI"
```

## 使用访问令牌

```javascript
const response = await fetch('https://api.brevo.com/v3/account', {
  headers: {
    'Authorization': 'Bearer YOUR_ACCESS_TOKEN',
    'Accept': 'application/json'
  }
});
```

## 权限范围

- `email`：发送事务性邮件
- `contacts`：管理联系人和列表
- `campaigns`：创建并发送营销活动
- `sms`：发送短信
- `webhooks`：管理 Webhook

## 刷新令牌

```javascript
const refreshToken = async () => {
  const response = await fetch('https://api.brevo.com/v3/oauth/token', {
    method: 'POST',
    headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
    body: new URLSearchParams({
      grant_type: 'refresh_token',
      refresh_token: 'YOUR_REFRESH_TOKEN',
      client_id: 'YOUR_CLIENT_ID',
      client_secret: 'YOUR_CLIENT_SECRET'
    })
  });
  return response.json();
};
```
