Bỏ qua, đến nội dung

Tham số cấu hình Telegram Auth ​

Tài liệu chi tiết tất cả tham số cấu hình của plugin @digiforce-nc/plugin-auth-telegram.

Tham số public (client-side) ​

Tham sốKiểuMặc địnhMô tả
public.botUsernamestring—Username của Telegram bot (không có @). Dùng cho Login Widget trên trang đăng nhập. Ví dụ: digiforce_login_bot
public.autoSignupbooleantrueTự động tạo tài khoản local nếu Telegram user chưa có tài khoản trong Digiforce

Tham số server-side ​

Tham sốKiểuMặc địnhMô tả
telegram.botTokenstring—Bot Token từ @BotFather. Bắt buộc. Chỉ lưu server-side, không expose ra client. Dùng để: (1) tính HMAC verify, (2) gọi Bot API tải avatar
telegram.httpbooleanfalseDùng HTTP thay HTTPS cho redirect URL. Chỉ bật khi phát triển local
telegram.portstring—Port tùy chỉnh cho redirect URL. Hữu ích khi chạy sau reverse proxy

Phân biệt public vs server-side

  • public.*: gửi cho client (browser) — chỉ chứa thông tin không nhạy cảm
  • telegram.*: chỉ giữ server-side — chứa bot token (bảo mật)

CORS ​

Plugin tự động bật CORS cho hai endpoint:

  • telegram:redirect (Login Widget callback)
  • telegram:validate (Web App validation)

Điều này cần thiết vì:

  • Login Widget chạy trong iframe Telegram trên domain khác
  • Mini App gọi API từ Telegram WebView

Không cần cấu hình CORS riêng cho hai endpoint này.

HMAC Verification keys ​

Plugin sử dụng telegram.botToken để tính HMAC verify, với key khác nhau cho mỗi flow:

Login Widget ​

secret_key = SHA256(bot_token)

Web App ​

secret_key = HMAC_SHA256("WebAppData", bot_token)

Không cần cấu hình riêng — plugin tự động chọn key dựa trên endpoint được gọi.

Ví dụ cấu hình ​

json
{
  "public": {
    "botUsername": "digiforce_login_bot",
    "autoSignup": true
  },
  "telegram": {
    "botToken": "1234567890:ABCdefGHIjklMNOpqrsTUVwxyz",
    "http": false
  }
}

Ví dụ cấu hình phát triển local ​

json
{
  "public": {
    "botUsername": "digiforce_dev_bot",
    "autoSignup": true
  },
  "telegram": {
    "botToken": "1234567890:ABCdefGHIjklMNOpqrsTUVwxyz",
    "http": true,
    "port": "13000"
  }
}

So sánh tham số với OIDC ​

Tiêu chíTelegramOIDC
Số tham số515+
Cần client secretKhông (dùng bot token)Có
Redirect URI confighttp + porthttp + port
User bindingTelegram ID (tự động)userBindField (email/username)
CertificateKhôngCó thể (skipSSLVerification)

Telegram Auth có cấu hình đơn giản — chỉ cần bot token và username.