Xác thực & SSO

Toàn bộ hệ sinh thái xAI dùng một dịch vụ định danh trung tâm — xAI Identity. Một lần đăng nhập, hợp lệ trên mọi sản phẩm.

Mô hình SSO

Khi đăng nhập, xAI Identity đặt cookie xv_session với Domain=.xai.io.vn (HttpOnly). Vì cookie có scope cấp miền, trình duyệt gửi nó tự động tới mọi subdomain — identity, governance, blockchain, và ứng dụng của bạn.

Cách 1 — Introspection (khuyến nghị)

Gọi GET /api/session kèm cookie. Endpoint hỗ trợ CORS cho mọi *.xai.io.vn nên gọi được trực tiếp từ trình duyệt.

curl 'https://identity.xai.io.vn/api/session' \
  -H 'Cookie: xv_session=<token>' \
  -H 'Origin: https://your-app.xai.io.vn'

Phản hồi:

{
  "authenticated": true,
  "realmId": "xvalley",
  "user": {
    "id": "usr_8f2c…",
    "email": "dev@partner.vn",
    "name": "Nguyễn An",
    "avatar_color": "#4f46e5"
  },
  "memberships": [
    { "org_id": "org_12ab", "org_name": "Đối tác ABC", "role": "admin" }
  ]
}

Cách 2 — Chuyển hướng đăng nhập

Nếu chưa đăng nhập, chuyển người dùng tới trang đăng nhập trung tâm kèm tham số quay lại:

https://identity.xai.io.vn/login
  ?client_id=<your-app>
  &realm=xvalley
  &redirect=<url-quay-lai-sau-khi-dang-nhap>

Cách 3 — Bind chung D1 (nâng cao)

Các sản phẩm chạy trên Cloudflare có thể bind chung cơ sở dữ liệu định danh xvalley_iam và xác thực token cục bộ — bỏ qua một vòng gọi mạng. Dùng khi sản phẩm của bạn thuộc hệ sinh thái xAI.

Phân quyền (RBAC)

Quyền được gán theo tổ chức qua memberships, với 4 vai trò:

Vai tròMô tả
adminToàn quyền trong tổ chức
officerCán bộ nghiệp vụ (vd governance)
stewardPhụ trách dữ liệu
viewerChỉ đọc

Bảo mật

Không bao giờ đặt khóa bí mật hay private key ở phía client. Các thao tác nhạy cảm (ký on-chain, cấp credential) được thực hiện ở phía máy chủ bằng khóa lưu trong Cloudflare secret.

Xem Identity API reference →