Tổng quan về xác thực
Caution
Trang demo - Đây là trang demo để giới thiệu tính năng tài liệu nhiều tab. Nội dung này chỉ mang tính minh họa.
Hướng dẫn này giải thích cách xác thực với API của chúng tôi. Chúng tôi hỗ trợ một số phương thức xác thực:
API key
Phương thức xác thực đơn giản nhất là dùng API key. Mỗi API key gắn với một người dùng cụ thể và có các quyền cụ thể.
// Example API Key requestconst response = await fetch('https://api.example.com/data', { headers: { 'Authorization': 'Bearer YOUR_API_KEY' }});OAuth 2.0
Với những ứng dụng cần bảo mật cao hơn, chúng tôi hỗ trợ luồng xác thực OAuth 2.0:
- Yêu cầu ủy quyền: Chuyển hướng người dùng tới URL ủy quyền của chúng tôi
- Người dùng đồng ý: Người dùng chấp thuận quyền truy cập vào tài khoản của họ
- Mã ủy quyền: Máy chủ của chúng tôi trả về một mã ủy quyền
- Đổi lấy token: Đổi mã đó lấy một access token
- Yêu cầu API: Dùng access token để truy cập các tài nguyên được bảo vệ
JWT token
Sau khi xác thực, chúng tôi cấp các JWT token chứa thông tin đã mã hóa về người dùng và quyền của họ.
// Example JWT token usageconst response = await fetch('https://api.example.com/protected-resource', { headers: { 'Authorization': 'Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...' }});Quản lý phiên
Theo mặc định, phiên có hiệu lực trong 24 giờ. Để làm mới một phiên:
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();Thực hành tốt nhất
- Không bao giờ lưu API key hay token trong mã phía client
- Dùng biến môi trường cho các thông tin đăng nhập nhạy cảm
- Triển khai cơ chế làm mới token cho các ứng dụng chạy dài
- Đặt thời gian hết hạn token phù hợp
- Dùng HTTPS cho mọi yêu cầu API