认证概览
Caution
演示页面:这是一个用于展示多标签页文档功能的演示页面。此处内容仅供示意。
本指南说明如何通过我们的 API 完成认证。我们支持以下几种认证方式:
API 密钥
最简单的认证方式是使用 API 密钥。每个 API 密钥都与特定用户关联,并拥有特定权限。
// Example API Key requestconst response = await fetch('https://api.example.com/data', { headers: { 'Authorization': 'Bearer YOUR_API_KEY' }});OAuth 2.0
对安全性要求更高的应用,我们支持 OAuth 2.0 认证流程:
- 授权请求:把用户重定向到我们的授权 URL
- 用户同意:用户批准对其账号的访问
- 授权码:我们的服务器返回一个授权码
- 令牌交换:用授权码换取访问令牌
- API 请求:使用访问令牌访问受保护的资源
JWT 令牌
认证完成后,我们会签发 JWT 令牌,其中编码了用户及其权限信息。
// Example JWT token usageconst response = await fetch('https://api.example.com/protected-resource', { headers: { 'Authorization': 'Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...' }});会话管理
会话默认有效期为 24 小时。刷新会话的方式如下:
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 tokensconst { accessToken, refreshToken } = await refreshResponse.json();最佳实践
- 切勿在客户端代码中存储 API 密钥或令牌
- 用环境变量保存敏感凭据
- 为长时间运行的应用实现令牌刷新机制
- 设置合理的令牌过期时间
- 所有 API 请求都使用 HTTPS