0
0
Lập trình
Thaycacac
Thaycacac thaycacac

Khắc Phục Lỗi Đăng Nhập clasp trên Google Workspace

Đăng vào 3 ngày trước

• 5 phút đọc

Giới thiệu

Khi tôi bắt đầu phát triển với công cụ dòng lệnh Google Apps Script clasp, tôi đã gặp khó khăn trong việc xác thực. Sự thật là yêu cầu bảo mật giữa tài khoản cá nhân và tài khoản Google Workspace khác nhau rất nhiều.

Tôi đã có kinh nghiệm thành công với tài khoản cá nhân, vì vậy tôi không thể hiểu tại sao lại xuất hiện lỗi. Ngay cả khi hỏi ChatGPT, hầu hết câu trả lời đều giả định tài khoản cá nhân, điều này khiến việc xử lý sự cố trở nên khó khăn hơn.

Vì vậy, tôi sẽ tổ chức các bước cần thiết cho tài khoản Workspace như một cách để nhắc nhở bản thân và làm tài liệu tham khảo cho người khác.

Lỗi Bí Ẩn trên Tài Khoản Workspace

Đối với tài khoản cá nhân, lần đầu tiên chạy lệnh clasp login sẽ mở trình duyệt và hiển thị màn hình xác thực của Google. Khi được phê duyệt, quá trình thiết lập hoàn tất và từ lần đăng nhập thứ hai trở đi, xác thực sẽ diễn ra ngay lập tức nhờ vào bộ nhớ cache.

Tài khoản cá nhân (@gmail.com)

bash Copy
clasp login
# → Xác thực hoàn tất ngay lập tức!

Tuy nhiên, với tài khoản Google Workspace, điều này không diễn ra như vậy.

bash Copy
clasp login
# → "Chúng tôi xin lỗi, nhưng bạn không có quyền truy cập vào dịch vụ này"

Cơ Chế Xác Thực Khác Nhau giữa Tài Khoản Cá Nhân và Workspace

Tài Khoản Cá Nhân (đơn giản)

  • Sử dụng thông tin xác thực mặc định của Google
  • Ít ràng buộc, không cần sự phê duyệt của quản trị viên
  • Chỉ cần chạy clasp login là đủ

Tài Khoản Workspace (phức tạp)

  • Các ứng dụng bên ngoài bị chặn bởi chính sách bảo mật
  • Cần sự phê duyệt rõ ràng từ quản trị viên
  • Cần tạo thông tin xác thực OAuth tùy chỉnh

5 Bước Giải Quyết Vấn Đề

Để khắc phục vấn đề đăng nhập với tài khoản Google Workspace, cần thực hiện năm bước sau:

  1. Cho phép truy cập API trong Admin Console (phê duyệt cấp tổ chức)
  2. Kích hoạt API Apps Script trong Google Cloud Console (kích hoạt cấp dự án)
  3. Cấu hình màn hình đồng ý OAuth (phê duyệt rõ ràng người dùng)
  4. Tạo thông tin xác thực OAuth (danh tính ứng dụng)
  5. Xác thực bằng thông tin xác thực tùy chỉnh (đăng nhập theo tổ chức)

Đối với tài khoản cá nhân, các bước 1-3 được Google thực hiện tự động, và bước 4 có thể hoàn tất với thông tin xác thực mặc định.


1. Cho phép API Apps Script trong Admin Console

Giải thích

  • Cấp quyền truy cập cấp tổ chức để sử dụng Apps Script
  • Nếu không làm điều này, chính sách tổ chức sẽ chặn quyền truy cập
  • Phép so sánh: như mở khóa cửa chính của công ty

Các bước

  1. Đăng nhập vào Admin Console
  2. Đi tới Bảo mậtKiểm soát APIKiểm soát quyền truy cập ứng dụng
  3. Thiết lập clasp thành Không bị hạn chế, hoặc thiết lập thành Bị hạn chế và thêm clasp là Ứng dụng đáng tin cậy

2. Kích hoạt API Apps Script trong Google Cloud Console

Giải thích

  • Cần kích hoạt “API Apps Script”, nếu không sẽ không thể tiếp tục xác thực
  • Mặc định, có thể bị tắt
  • Phép so sánh: như bật hệ thống truy cập tòa nhà trước khi phát thẻ nhân viên

Các bước

  1. Đăng nhập vào Google Cloud Console
  2. Đi tới APIs & Dịch vụThư viện
  3. Tìm kiếm API Google Apps Script
  4. Nhấp vào Kích hoạt

3. Cấu hình Màn Hình Đồng Ý OAuth

Giải thích

  • Đây là màn hình xác nhận hỏi: “clasp muốn truy cập vào các dự án Apps Script của bạn. Bạn có đồng ý không?”
  • Hiển thị rõ ràng dữ liệu nào sẽ được truy cập
  • Phép so sánh: như nhân viên lễ tân hỏi các khách đến về mục đích trước khi cho phép vào

Các bước

  1. Trong Google Cloud Console, đi tới Màn hình đồng ý OAuth
  2. Nhập thông tin ứng dụng (tên, email hỗ trợ)
  3. Đặt Loại Người dùng thành Nội bộ (chỉ người dùng trong miền Workspace của bạn mới có thể sử dụng)
  4. Thêm tài khoản của bạn vào danh sách người dùng thử nghiệm

4. Tạo Thông Tin Xác Thực OAuth 2.0

Giải thích

  • Cho phép clasp xác định danh tính của nó với Client ID và Client Secret
  • Phép so sánh: như cấp thẻ ID nhân viên chính thức

Các bước

  1. Đăng nhập vào Google Cloud Console
  2. Đi tới APIs & Dịch vụThông tin xác thực
  3. Tạo Client ID OAuth với loại Ứng dụng máy tính để bàn
  4. Lấy Client IDClient Secret

Mẹo Hiệu Suất

  • Kiểm tra thường xuyên các cài đặt bảo mật để đảm bảo chúng phù hợp với các cập nhật và thay đổi trong tổ chức.
  • Sử dụng các công cụ giám sát để theo dõi và phát hiện các vấn đề xác thực kịp thời.

Những Cạm Bẫy Thường Gặp

  • Bỏ sót bước phê duyệt của quản trị viên có thể khiến bạn không thể truy cập.
  • Không kích hoạt API Apps Script có thể làm gián đoạn quy trình phát triển.

Kết luận

Trong trường hợp của tôi, vì tôi có quyền quản trị trong tổ chức, tôi đã có thể giải quyết vấn đề này tương đối dễ dàng. Tuy nhiên, nếu tôi là người dùng thông thường, việc yêu cầu quản trị viên điều tra và khắc phục nguyên nhân sẽ gặp nhiều khó khăn hơn.

Việc cấu hình phức tạp là điều không thể tránh khỏi để đáp ứng các yêu cầu bảo mật của tổ chức. Nhưng một khi bạn hiểu được bối cảnh, các bước sẽ trở nên hợp lý. Tôi hy vọng bài viết này sẽ là tài liệu tham khảo hữu ích cho bất kỳ ai gặp phải vấn đề tương tự.

Tài liệu tham khảo

  • Google Apps Script CLI (clasp)
  • Google Cloud Console
  • Google Admin Console
  • OAuth Authentication là gì? (2020)
Gợi ý câu hỏi phỏng vấn
Không có dữ liệu

Không có dữ liệu

Bài viết được đề xuất
Bài viết cùng tác giả

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào