Guacamole REST API Tester

O365 Auth Mode quanndm-test · Openclaw Group

⚙ Configuration

Thiết lập base URL và thông tin Guacamole instance của bạn. Tất cả các bước sẽ dùng config này.

🔧 Guacamole Instance Settings
💡 Data Source: Thường là postgresql. Kiểm tra tại /api/languages hoặc xem file cấu hình Guacamole. Nếu dùng LDAP/SAML thì datasource có thể là ldap hoặc saml.

🔐 Step 1: Get Auth Token

Lấy token để dùng cho tất cả các request tiếp theo.

💡 Cách lấy token từ browser:
1. Mở remote.so.zingplay.com → login O365 bình thường
2. DevTools → tab Network → filter: tokens
3. Tìm request POST /api/tokens → tab Response
4. Copy giá trị authToken → paste vào ô dưới
✓ Token active — auto-filled vào tất cả các bước

👤 Step 2: Create User (O365)

Tạo user quanndm-test với O365 authentication. Không cần set password vì user sẽ auth qua SAML/OpenID.

📌 O365 User Format: Username phải khớp với giá trị mà Guacamole nhận được từ SAML assertion (thường là email hoặc UPN như quanndm-test@yourcompany.com). Nếu Guacamole config dùng username-attributemail, thì dùng email đầy đủ.
POST {BASE_URL}/api/session/data/{datasource}/users
Password field: Để trống hoặc để "". Guacamole sẽ tạo user nhưng không cho phép đăng nhập bằng password — chỉ qua O365 SAML/OpenID.

📁 Step 3: Get Openclaw Group ID

Lấy ID của Connection Group "Openclaw" để tạo connection bên trong đó.

GET {BASE_URL}/api/session/data/{datasource}/connectionGroups/ROOT/tree
📋 API này trả về toàn bộ connection tree. Tìm object có "name": "Openclaw" và lấy "identifier".

🖥 Step 4: Create Connection

Tạo connection SSH trong group Openclaw. Điền thông tin server cần kết nối.

POST {BASE_URL}/api/session/data/{datasource}/connections

🔗 Step 5: Assign Connection to User

Gán connection và connection group vào user quanndm-test. Cần gán cả connection lẫn group thì user mới thấy được.

PATCH {BASE_URL}/api/session/data/{datasource}/users/{username}/permissions
💡 Phải gán cả connectionPermissions (để user access connection cụ thể) và connectionGroupPermissions (để user thấy folder Openclaw). Nếu thiếu group permission, connection sẽ không hiển thị trong UI.

⚡ Bulk Create Users & Connections

Paste YAML → tự động tạo Guacamole user + SSH connection + gán permission cho từng user.

📝 User List (YAML)
Mỗi user sẽ chạy 3 bước: tạo connectiontạo usergán permission.
Token lấy từ Step 1. Group ID lấy từ Step 3 (hiện tại = 16).

📋 cURL Commands Cheatsheet

Copy-paste các lệnh curl để test nhanh từ terminal.

⚠ Điền đầy đủ thông tin ở các bước trước, sau đó nhấn Generate để tạo cURL commands.