---
title: "认证概览"
description: "认证方式概览"
url: https://tajo.io/zh-cn/docs/authentication/overview/
markdown: https://tajo.io/zh-cn/docs/authentication/overview.md
lang: zh-CN
robots: noindex
---

申请抢先体验

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

# 认证概览

Caution

**演示页面**：这是一个用于展示多标签页文档功能的演示页面。此处内容仅供示意。

本指南说明如何通过我们的 API 完成认证。我们支持以下几种认证方式：

## API 密钥

最简单的认证方式是使用 API 密钥。每个 API 密钥都与特定用户关联，并拥有特定权限。

```javascript
// Example API Key request
const response = await fetch('https://api.example.com/data', {
  headers: {
    'Authorization': 'Bearer YOUR_API_KEY'
  }
});
```

## OAuth 2.0

对安全性要求更高的应用，我们支持 OAuth 2.0 认证流程：

1. **授权请求**：把用户重定向到我们的授权 URL
2. **用户同意**：用户批准对其账号的访问
3. **授权码**：我们的服务器返回一个授权码
4. **令牌交换**：用授权码换取访问令牌
5. **API 请求**：使用访问令牌访问受保护的资源

## JWT 令牌

认证完成后，我们会签发 JWT 令牌，其中编码了用户及其权限信息。

```javascript
// Example JWT token usage
const response = await fetch('https://api.example.com/protected-resource', {
  headers: {
    'Authorization': 'Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...'
  }
});
```

## 会话管理

会话默认有效期为 24 小时。刷新会话的方式如下：

```javascript
const refreshResponse = await fetch('https://api.example.com/auth/refresh', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'Authorization': 'Bearer CURRENT_REFRESH_TOKEN'
  }
});

// Parse the new tokens
const { accessToken, refreshToken } = await refreshResponse.json();
```

## 最佳实践

1. 切勿在客户端代码中存储 API 密钥或令牌
2. 用环境变量保存敏感凭据
3. 为长时间运行的应用实现令牌刷新机制
4. 设置合理的令牌过期时间
5. 所有 API 请求都使用 HTTPS
