API Keys
Phù hợp nhất cho backend riêng, tác vụ theo lịch và quy trình tự động riêng tư khi thông tin xác thực không bao giờ được gửi đến trình duyệt hoặc ứng dụng di động.
Hai cách xác thực với API s.id, API key cho máy chủ tới máy chủ, OAuth 2.0 để hoạt động thay mặt người dùng.
Chọn theo ranh giới tin cậy
Phù hợp nhất cho backend riêng, tác vụ theo lịch và quy trình tự động riêng tư khi thông tin xác thực không bao giờ được gửi đến trình duyệt hoặc ứng dụng di động.
Phù hợp nhất cho ứng dụng bên thứ ba cần sự đồng ý của người dùng và quyền truy cập chi tiết, có thể thu hồi vào tài khoản s.id.
API Keys
API key xác thực các tích hợp máy chủ tới máy chủ. Tạo một cái tại Dashboard → Developer → API Keys, chọn phạm vi của bạn và truyền nó dưới dạng Bearer token.
Authorization: Bearer sk_live_...curl https://api.s.id/v2/links \
-H "Authorization: Bearer sk_live_..."links:readlinks:writelinks:archivelinks:analyticsqr:readqr:writeuser:readmicrosites:readmicrosites:writemicrosites:deleteOAuth 2.0
Chuyển người dùng đến s.id để đồng ý, xác minh state của callback, rồi đổi mã dùng một lần lấy access token và refresh token xoay vòng.
Ứng dụng công khai
Dành cho SPA, ứng dụng di động và CLI. Tạo code_verifier ngẫu nhiên, gửi challenge S256 khi ủy quyền, rồi gửi verifier gốc khi đổi token.
https://api.s.id/oauth/authorize?
response_type=code&
client_id=YOUR_CLIENT_ID&
redirect_uri=https%3A%2F%2Fapp.example.com%2Fcallback&
scope=links%3Aread%20links%3Awrite&
state=RANDOM_CSRF_VALUE&
code_challenge=BASE64URL_SHA256_VERIFIER&
code_challenge_method=S256curl -X POST https://api.s.id/oauth/token \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "grant_type=authorization_code" \
-d "client_id=YOUR_CLIENT_ID" \
-d "code=AUTHORIZATION_CODE" \
-d "redirect_uri=https://app.example.com/callback" \
-d "code_verifier=ORIGINAL_RANDOM_VERIFIER"Ứng dụng bảo mật
Dành cho ứng dụng render phía máy chủ hoặc backend có thể giữ bí mật client_secret. PKCE vẫn là tùy chọn và được khuyến nghị như một lớp bảo vệ bổ sung.
https://api.s.id/oauth/authorize?
response_type=code&
client_id=YOUR_CLIENT_ID&
redirect_uri=https%3A%2F%2Fapp.example.com%2Fcallback&
scope=links%3Aread%20links%3Awrite&
state=RANDOM_CSRF_VALUEcurl -X POST https://api.s.id/oauth/token \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "grant_type=authorization_code" \
-d "client_id=YOUR_CLIENT_ID" \
-d "client_secret=YOUR_CLIENT_SECRET" \
-d "code=AUTHORIZATION_CODE" \
-d "redirect_uri=https://app.example.com/callback"Hết hạn sau 1 giờ
Hết hạn sau 30 ngày
Chỉ dùng một lần; hết hạn sau 10 phút
curl -X POST https://api.s.id/oauth/token \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "grant_type=refresh_token" \
-d "client_id=YOUR_CLIENT_ID" \
-d "refresh_token=CURRENT_REFRESH_TOKEN"curl -X POST https://api.s.id/oauth/revoke \
-H "Content-Type: application/json" \
-d '{"token":"TOKEN_TO_REVOKE"}'https://api.s.id/.well-known/oauth-authorization-serverKhám phá URL endpoint, phạm vi được hỗ trợ và phương thức PKCE qua siêu dữ liệu RFC 8414.
POST https://api.s.id/oauth/introspectMáy chủ tài nguyên bảo mật có thể kiểm tra token còn hoạt động và xem các phạm vi của token.
POST https://api.s.id/oauth/revokeThu hồi access token hoặc refresh token khi người dùng ngắt kết nối tích hợp của bạn.
GET https://api.s.id/oauth/userinfoĐọc hồ sơ liên kết với token truy cập OAuth mang phạm vi user:read.
Tạo API key trong vài phút. Đã có gói miễn phí, không cần thẻ tín dụng.