Bỏ qua, đến nội dung

Hướng dẫn cài đặt CAS

Hướng dẫn thiết lập xác thực CAS (Central Authentication Service) trong Digiforce.

Điều kiện tiên quyết

  • Digiforce đã cài đặt và chạy ổn định
  • Plugin @digiforce-nc/plugin-auth-cas đã được kích hoạt
  • CAS server đã triển khai và hoạt động (CAS 2.0 trở lên)
  • Domain của Digiforce đã được đăng ký là service hợp lệ trên CAS server

Bước 1: Tạo authenticator trong Digiforce

  1. Vào Settings → Authentication → Add new
  2. Chọn loại CAS
  3. Đặt tên authenticator (ví dụ: cas-main, university-cas)
  4. Lưu lại

Bước 2: Cấu hình CAS server URL

Điền URL gốc của CAS server:

TrườngVí dụMô tả
CAS URLhttps://cas.university.edu/casBase URL của CAS server
Service Domainhttps://app.example.comDomain của Digiforce

Service URL sẽ được tạo tự động:

{serviceDomain}/api/cas:service?authenticator={name}&__appName={app}&redirect={url}

Ví dụ: https://app.example.com/api/cas:service?authenticator=cas-main&__appName=main&redirect=/admin

Bước 3: Đăng ký service trên CAS server

CAS server cần biết domain nào được phép sử dụng dịch vụ xác thực. Đăng ký service trong CAS:

CAS Management (nếu có)

  1. Truy cập CAS Management Console
  2. Thêm service mới với Service URL pattern: https://app.example.com/**
  3. Cho phép tất cả attributes cần thiết

Cấu hình file (JSON/YAML)

json
{
  "serviceId": "^https://app\\.example\\.com/.*",
  "name": "Digiforce App",
  "id": 1,
  "attributeReleasePolicy": {
    "@class": "org.apereo.cas.services.ReturnAllAttributeReleasePolicy"
  }
}

Bước 4: Cấu hình autoSignup

Bật hoặc tắt tự động tạo tài khoản:

  • autoSignup: true — user CAS chưa có tài khoản Digiforce sẽ được tạo tự động
  • autoSignup: false — chỉ user đã có tài khoản mới đăng nhập được

Lưu ý

CAS plugin sử dụng autoSignup ở cấp cao nhất, không phải public.autoSignup như các plugin khác.

Bước 5: Kiểm tra đăng nhập

  1. Mở cửa sổ ẩn danh
  2. Tại trang đăng nhập, nhấn Đăng nhập bằng CAS
  3. Hệ thống redirect đến CAS server /login?service={serviceURL}
  4. Đăng nhập tại CAS bằng tài khoản tổ chức
  5. CAS redirect về Digiforce kèm ticket → plugin validate ticket
  6. Xác minh đăng nhập thành công

Lưu ý

  • Service URL phải khớp chính xác: CAS server so sánh service URL khi validate ticket — URL trong request cas:login phải khớp với URL trong request serviceValidate
  • CAS 2.0: Plugin chỉ hỗ trợ CAS 2.0 protocol (serviceValidate endpoint)
  • HTTPS: Khuyến nghị sử dụng HTTPS cho cả CAS server và Digiforce