open-index/open-npm huggingface dataset:
npm package: @gh-platform/auth-sdk
Description: VanillaJS Auth SDK for GH Platform
Latest version: 1.2.3

# 🛡️ GH Platform – JavaScript Auth SDK

SDK JavaScript chính thức để xác thực (**login**), làm mới token (**refresh**), và tự động quản lý phiên làm việc trong hệ sinh thái GH Platform. Hỗ trợ cả trình duyệt (Browser) và Node.js.

---

## 🚀 Tính năng chính

- ✅ **Xác thực**: Login, Register, Logout, Refresh Token.
- ✅ **Bảo mật**: Hỗ trợ 2FA (TOTP) và tự động đính kèm Token vào request.
- ✅ **Hồ sơ**: Truy vấn Profile (Introspect) và quản lý Metadata người dùng.
- ✅ **Quản lý Token**: Tích hợp `TokenStorage` tự động lưu trữ vào LocalStorage/Cookies.
- ✅ **Tương thích**: Hỗ trợ kiến trúc đa tổ chức (Multi-Tenant).
- ✅ **TypeScript**: Kèm sẵn file `.d.ts` cho trải nghiệm lập trình tốt nhất.

---

## 📦 Cài đặt

```bash
npm install @gh-platform/auth-sdk
# Hoặc
yarn add @gh-platform/auth-sdk
```

---

## 📖 Tài liệu hướng dẫn (Documentation)

Chúng tôi cung cấp tài liệu chi tiết chia theo từng tính năng trong thư mục `docs/`:

- 🚀 **[Bắt đầu nhanh (Quick Start)](docs/features/quick-start.md)**
- 🔐 **[Xác thực (Authentication)](docs/features/authentication.md)**
- 👤 **[Hồ sơ & Metadata (Profile)](docs/features/profile.md)**
- 🛡️ **[Bảo mật 2 lớp (2FA)](docs/features/security-2fa.md)**
- 🏢 **[Quản trị hệ thống (Admin)](docs/features/admin-management.md)**
- 🛠️ **[Xử lý lỗi (Error Handling)](docs/features/error-handling.md)**

---

## 🧱 Ví dụ nhanh (Quick Example)

```javascript
import { AuthClient, TokenStorage } from '@gh-platform/auth-sdk';

const authClient = new AuthClient({
  baseUrl: 'https://auth.example.com',
  tenant: 'default',
  // URL tùy chọn để xác thực token (Global Introspect)
  introspectUrl: 'https://auth.example.com/api/v1/auth/introspect',
  storage: new TokenStorage('app_prefix', 'default')
});

async function login() {
  const res = await authClient.login('user@example.com', 'password');
  console.log('User Profile:', res.data);
}
```

Xem thêm các ví dụ thực tế tại thư mục **[examples/](examples/)**.

---

## 🏗️ Cấu trúc thư mục

- `src/`: Chứa mã nguồn chính của SDK (ESM/CJS).
- `dist/`: Chứa bản build bundle cho trình duyệt.
- `docs/`: Tài liệu chi tiết hướng dẫn sử dụng.
- `examples/`: Code mẫu cho từng luồng tính năng (ESM, React, Node.js).

---

## 🧾 License

Bản quyền © 2025 **GH Platform** – Phát hành theo giấy phép **MIT**