Chuột API

CHUỘT API / INTEGRATION GUIDE

Tích hợp xác thực
không cần tự xây lại.

Tài liệu này mô tả toàn bộ flow mà website test đang sử dụng: website của bạn tạo OAuth request, Chuột API xử lý đăng nhập hoặc tạo tài khoản, sau đó trả authorization code về callback của project. Client secret chỉ chạy ở backend.

1. Kiến trúc tổng quan

Chuột API là identity provider trung tâm. Website tích hợp không tạo user trực tiếp trong database riêng cho flow này.

Website của bạn
  -> GET /api/v1/oauth/authorize
  -> Chuột API /login?client_id=...
  -> Chuột API /signup?client_id=...
  -> callback URL của project với code + state
  -> backend website đổi code tại /api/v1/oauth/token
  -> tạo session riêng cho website của bạn
  -> redirect tới direct_url của project

client_id xác định project/app, không xác định user. User được chọn hoặc tạo trên trang login/signup của Chuột API.

2. Base URL và endpoint

https://apiauth.pages.dev/api/v1
MethodEndpointVai trò
GET/oauth/authorizeBắt đầu OAuth và chuyển user tới login/signup.
POST/oauth/tokenBackend đổi authorization code thành access token.
GET/userinfoLấy thông tin user bằng access token.
POST/auth/registerTạo tài khoản trực tiếp trên Chuột API.
POST/auth/loginĐăng nhập username/password.
POST/auth/logoutXóa session Auth API.
GET/healthKiểm tra trạng thái service.

3. Tạo project và credentials

  1. Đăng nhập dashboard Chuột API.
  2. Bấm Tạo project.
  3. Nhập tên project.
  4. Nhập direct_url và redirect_uri.
  5. Lưu client_id, client_secret và api_key.

client_secret và api_key chỉ được lưu ở backend/secret manager. Không đưa chúng vào browser bundle.

4. Bắt đầu đăng nhập

Backend tạo state ngẫu nhiên và PKCE code_verifier, sau đó chuyển trình duyệt tới authorize. Lưu cả hai trong session tạm thời.

GET https://apiauth.pages.dev/api/v1/oauth/authorize?client_id=...&redirect_uri=...&response_type=code&state=...&code_challenge=...&code_challenge_method=S256

5. Callback và token exchange

Callback nhận code và state. Backend kiểm tra state trước khi đổi code. Không thực hiện bước này ở frontend.

POST https://apiauth.pages.dev/api/v1/oauth/token
Content-Type: application/x-www-form-urlencoded

grant_type=authorization_code&client_id=...&client_secret=...&code=...&redirect_uri=...&code_verifier=...

6. Redirect đúng direct URL

Auth API lấy direct_url từ project tương ứng với client_id. Website tích hợp tạo session riêng rồi chuyển user về URL đó.

7. Quy tắc tài khoản

8. Đăng xuất và revoke

POST https://apiauth.pages.dev/api/v1/auth/logout
POST https://apiauth.pages.dev/api/v1/oauth/revoke

Owner có thể revoke project trong dashboard. Không log authorization code, access token, client secret hoặc API key.

← Quay lại page test