Cấu hình plugin
Cấu hình pluginDuyệt, bật và tắt các module

Duyệt, bật và tắt các module

Toàn bộ chức năng trong Gato GraphQL được cung cấp thông qua các module. Truy cập chúng bằng cách nhấp vào "Modules" trong menu của plugin:

Modules

Mỗi module có thể được bật hoặc tắt. Trạng thái của chúng hiển thị trong bảng:

  • Các module đang bật có nền màu
  • Các module đang tắt có nền trắng

Bật/tắt một module

Khi di chuột qua tên của một module đang tắt, liên kết "Enable" sẽ hiện ra. Nhấp vào đó sẽ bật module:

Bật một module

Tương tự, khi di chuột qua tên của một module đang bật, liên kết "Disable" sẽ hiện ra. Nhấp vào đó sẽ tắt module.

Theo lô

Ngoài ra, chúng ta có thể chọn hộp kiểm cho từng module, rồi chọn "Enable" hoặc "Disable" từ menu thả xuống "Bulk actions":

Tắt các module theo lô

Tắt module ở các endpoint công khai và riêng tư

Việc tắt các module cho phép chúng ta xóa một số chức năng khỏi máy chủ GraphQL (ví dụ: single endpoint), hoặc xóa một phần tử khỏi schema GraphQL (ví dụ: một kiểu, một trường, hoặc một chỉ thị).

"Schema modules" là những module thêm các kiểu/trường/chỉ thị vào schema GraphQL (được tìm thấy trong các danh mục "Schema Type" và "Schema Directive" trên trang Modules). Chúng ta có thể tăng cường bảo mật cho API GraphQL bằng cách tắt tất cả các "Schema modules" không cần thiết, vì dữ liệu không được phép tiêu thụ sẽ không bao giờ bị lộ ngay từ đầu.

Ví dụ, khi tắt module "Users", các trường người dùng (QueryRoot.users, Post.author, và các trường khác) sẽ bị xóa khỏi schema GraphQL.

Do đó, việc tắt các endpoint (như đã giải thích ở phần trước) luôn có hiệu lực trên các endpoint công khai:

  • Single endpoint
  • Custom endpoints
  • Persisted queries

Tuy nhiên, chúng ta có thể chỉ muốn giới hạn quyền truy cập vào "Schema modules" đối với khách truy cập (tức là trên các endpoint công khai), nhưng không áp dụng cho quản trị viên của trang trên các endpoint riêng tư, để không hạn chế khả năng truy cập toàn bộ schema GraphQL khi thực hiện các tác vụ nội bộ.

Các endpoint riêng tư bao gồm:

  • Endpoint wp-admin/edit.php?page=graphql_api&action=run_query (dùng để cung cấp năng lượng cho các client GraphiQL và Interactive Schema của quản trị viên, và có thể được gọi trong trình soạn thảo WordPress để cung cấp dữ liệu cho các block)
  • Custom private endpoints (cũng được dùng để cung cấp dữ liệu cho các block, nhưng cho phép bạn khóa cấu hình của nó thông qua các hook PHP)
  • Các queries GraphQL được thực thi nội bộ (thông qua lớp GraphQLServer trong PHP)

Để "Schema modules" cũng bị tắt trên các endpoint riêng tư, chúng ta phải cấu hình điều này tại tab "Plugin Configuration > Private Endpoints" trên trang Settings, bằng cách đánh dấu mục "Disable "Schema modules" in the private endpoints?"

Tắt các module theo lô

Phụ thuộc giữa các module

Mỗi module có thể phụ thuộc vào một module khác. Trong trường hợp đó, nếu module được phụ thuộc vào bị tắt, các module phụ thuộc vào nó cũng sẽ bị tắt theo.

Thông tin này hiển thị trong cột "Depends on" trong bảng module:

Phụ thuộc giữa các module

Ví dụ, nếu module "Schema Configuration" bị tắt, module "Schema Namespacing" cũng sẽ bị tắt.

Lọc các module

Các module được nhóm theo danh mục:

  • Plugin Management
  • Endpoint
  • Schema Configuration
  • Access Control
  • Versioning
  • User Interface
  • Performance
  • Operational
  • Client
  • Schema Type

Nhấp vào bất kỳ danh mục nào, chỉ các module tương ứng mới được hiển thị.

Lọc các module

Xem tài liệu của module

Chúng ta có thể đọc tài liệu của một module bằng cách nhấp vào liên kết "View details" bên dưới mô tả của module:

Xem tài liệu module

Truy cập cài đặt của module

Khi di chuột qua tên của module, liên kết "Settings" sẽ hiện ra (trừ khi module không có cài đặt).

Nhấp vào đó sẽ mở trang Settings, tập trung vào tab của module:

Truy cập cài đặt của module