Bỏ qua nội dung chính
Tài liệuXây dựng workflowỦy quyền bên thứ ba

Ủy quyền bên thứ ba

Tích hợp các dịch vụ bên ngoài như Slack, Stripe và App Store Connect vào quy trình làm việc: ủy quyền một lần và mô-đun chính thức của dịch vụ sẽ có sẵn ngay lập tức.

Quy trình chỉ diễn ra một lần: chọn dịch vụ, điền thông tin xác thực theo hướng dẫn, và khi lưu, nền tảng gọi lên dịch vụ một lần để xác nhận kết nối. Từ đó ủy quyền này áp dụng cho mọi quy trình của bạn, còn khóa bí mật không xuất hiện trong YAML, tệp xuất hay nhật ký chạy.

Phân công lao động với những “nhà cung cấp kiểu mẫu”

Trang "Tích hợp" có hai phân vùng chứa hai loại nội dung khác nhau:

  • Nhà cung cấp mô hình — OpenAI, Anthropic, OpenRouter, v.v. API Key của dịch vụ LLM, dành cho bước Agent để gọi mô hình.
  • Ủy quyền bên thứ ba — Ủy quyền tài khoản của hệ thống kinh doanh được sử dụng cho các mô-đun chính thức và các bước code để đọc và ghi dữ liệu bên ngoài. Đó là nội dung của trang này.
Cả hai đều được lưu trữ trong cùng một hệ thống mã hóa

Sự khác biệt nằm ở mục đích và lối vào: nhà cung cấp mô hình phân tích nó theo provider và giao nó cho Agent; ủy quyền của bên thứ ba được thiết lập và xác minh theo thông số kỹ thuật riêng của dịch vụ và được điền vào biến kết nối của quy trình làm việc. Các quy tắc được đề cập trên trang Quản lý thông tin xác thực áp dụng cho cả hai.

Tạo ủy quyền

  1. Vào Tích hợp → Ủy quyền bên thứ ba. Hàng thẻ danh mục ở trên giúp thu hẹp danh sách, còn ô tìm kiếm nhận cả tên lẫn mục đích sử dụng.
  2. Tìm dịch vụ rồi bấm Ủy quyền. Biểu mẫu được sinh ra từ đặc tả của chính dịch vụ đó — có những trường nào và tên gọi ra sao là do dịch vụ quyết định.
  3. Bên dưới mỗi trường được đánh dấu nơi áp dụng và một liên kết trực tiếp đến phần phụ trợ ngược dòng được cung cấp. Chỉ cần làm theo và không cần đọc thêm tài liệu.
  4. cứu. Nền tảng ngay lập tức gửi yêu cầu chỉ đọc tới dịch vụ để xác minh bằng thông tin xác thực bạn vừa điền. Sau khi thành công, nó sẽ phản hồi lại tên tài khoản mà nó đã nhận dạng, cho phép bạn xác nhận rằng bạn đang kết nối với đúng tài khoản.

Khi dịch vụ đã được ủy quyền, nút trên thẻ đổi thành Thêm ủy quyền — dùng để nối thêm một tài khoản khác cho cùng dịch vụ, ủy quyền cũ vẫn giữ nguyên.

Không hiện tên tài khoản không có nghĩa là kết nối hỏng

Khá nhiều dịch vụ không có endpoint chỉ đọc để kiểm chứng — chẳng hạn webhook đến của Slack chỉ có thể thử bằng cách đăng một tin nhắn thật vào kênh. Lưu những dịch vụ này sẽ không gọi lên phía dịch vụ mà chỉ báo đã lưu kết nối; lần gọi thật đầu tiên xảy ra khi quy trình chạy.

Kiểm chứng thất bại không để lại thứ gì dở dang

Khi kiểm chứng thất bại, nền tảng xóa luôn ủy quyền vừa tạo và chỉ để lại thông báo lỗi trên biểu mẫu, phần bạn đã nhập vẫn còn nguyên. Nhờ vậy quy trình và chợ ứng dụng không coi một thông tin sai là đã sẵn sàng.

Những gì cần điền tùy thuộc vào phương thức xác thực của dịch vụ

Phương pháp thôbạn muốn làm gì
Mã thông báo APITạo mã thông báo ở nền ngược dòng và dán mã đó vào. Hầu hết các dịch vụ chỉ có trường này. Stripe, GitHub, Notion đều thuộc loại này.
Mật khẩu tài khoảnĐiền tài khoản nền tảng và mật khẩu cho giao diện đăng nhập.
Phím kýĐiền nội dung của Issuer ID, Key ID và tệp khóa riêng. Nền tảng sẽ sử dụng nó để phát hành mã thông báo ngắn hạn trước mỗi yêu cầu và khóa riêng sẽ không được gửi đi. App Store Connect, Apple Search Ads thuộc loại này.
Ủy quyền OAuthChuyển đến trang ủy quyền của máy chủ và nhấp vào Đồng ý và quá trình này sẽ hoàn tất khi bạn quay lại. Không cần phải sao chép thủ công bất kỳ phím nào. Google Ads, Google Analytics thuộc loại này.

Các trường được đánh dấu là khóa sẽ không còn được lặp lại sau khi được lưu và chỉ có thể được thay thế toàn bộ; các trường không nhạy cảm như ID ứng dụng và tên miền nền tảng được giữ ở dạng văn bản thuần túy, giúp bạn dễ dàng xác định tài khoản nào thuộc về ủy quyền này trong danh sách.

Mô-đun chính thức sẽ tự động yêu cầu ủy quyền

Mô-đun chính thức tuyên bố dịch vụ nào được yêu cầu trong hợp đồng riêng của nó:

yaml
inputs:
  - name: stripe_api_key
    type: "credential:stripe"
    required: true

Khi bạn kéo một mô-đun như thế này vào quy trình làm việc của mình, trình chỉnh sửa sẽ tự động thực hiện ba việc:

  1. Đăng ký biến kết nối (ví dụ: conn_stripe) trên quy trình làm việc và hiển thị biến đó làm bộ chọn ủy quyền cho dịch vụ trong bảng cài đặt.
  2. Kết nối đầu vào này của mô-đun với biến này và ẩn nó khỏi trình chỉnh sửa đầu vào ban đầu - bạn không cần và không nên dán token theo cách thủ công vào đó.
  3. Chỉ có một biến được đăng ký cho cùng một dịch vụ. Một quy trình làm việc có ba mô-đun Stripe và chỉ được cấp phép một lần.

Khi không có ủy quyền nào trong bộ chọn, bạn có thể hoàn thành ủy quyền trực tiếp trên bảng điều khiển mà không cần rời khỏi trình chỉnh sửa; việc kiểm tra trước thông tin xác thực trước khi thực thi cũng sẽ liệt kê các ủy quyền còn thiếu và hoàn thành chúng cùng nhau.

Được sử dụng trong bước code

Bước code không đọc hợp đồng mô-đun và cần khai báo rõ ràng dịch vụ nào được yêu cầu ở cấp cao nhất của quy trình làm việc:

yaml
variables:
  conn_stripe: ""

variable_types:
  conn_stripe: credential:stripe

workflow:
  - step: sync_invoices
    code:
      language: javascript
      script: |
        const key = process.env.WF_CREDENTIAL_STRIPE;
        if (!key) throw new Error("Stripe authorization missing");
        // 用 key 调用 Stripe API
  • Giá trị được giải mã trong thời gian chạy được đưa vào dưới dạng biến môi trường WF_CREDENTIAL_<PROVIDER>, biến này chỉ hợp lệ trong phạm vi thực thi này.
  • Khi chỉ có một trường khóa, khóa đó sẽ được đưa vào; khi nhiều trường khóa (chẳng hạn như tên người dùng + mật khẩu) được thêm vào, một đối tượng JSON sẽ được thêm vào, đối tượng này cần được phân tích cú pháp trong tập lệnh.
  • Các trường không khóa (ID ứng dụng, tên miền nền tảng, v.v.) sẽ không được nhập vào các biến môi trường. Khi cần thiết, chúng sẽ được chuyển riêng lẻ cho từng bước dưới dạng các biến quy trình công việc thông thường.
  • Khi giá trị biến được để trống, nó sẽ tự động được phân tích cú pháp theo thứ tự cá nhân → nhóm; nếu ủy quyền cụ thể được điền vào, nó sẽ được sử dụng vĩnh viễn.
  • Một số kết nối chỉ cho phép truy cập proxy phía máy chủ không xuất văn bản rõ ràng. Quy trình làm việc vẫn giữ quyền nhưng yêu cầu được gửi bởi nền tảng.

Ủy quyền cá nhân và ủy quyền nhóm

  • Ủy quyền cá nhân chỉ có thể được sử dụng bởi chính bạn và phù hợp với tài khoản thử nghiệm cá nhân.
  • Ủy quyền nhóm được chia sẻ bởi các thành viên có quyền truy cập vào nhóm và phù hợp với tài khoản chính của công ty - đồng nghiệp không cần phải ngược dòng để xin key.
  • Khi dòng công việc đang chạy, trước tiên nó sẽ tìm kiếm sự cho phép cá nhân của người khởi tạo, sau đó là sự cho phép của nhóm mà nó thuộc về. Khi chia sẻ quy trình làm việc với đồng nghiệp, vui lòng đảm bảo rằng quy trình đó dựa vào ủy quyền của nhóm, nếu không bên kia sẽ không thể phân tích cú pháp quy trình đó.

Kết nối nhiều tài khoản với cùng một dịch vụ

Có thể tạo nhiều ủy quyền cho cùng một dịch vụ, được phân biệt bằng nhãn, chẳng hạn như "Stripe · Sản xuất" và "Stripe · Hộp cát". Bất kỳ tùy chọn nào được chọn trong bộ chọn kết nối của quy trình làm việc, tham chiếu đến ủy quyền sẽ được lưu chứ không phải văn bản rõ ràng.

Quy trình làm việc trên nhiều tài khoản phải được chọn rõ ràng

Để trống để nó tự động phân tích cú pháp. Khi cùng một dịch vụ có nhiều ủy quyền và dựa vào thanh toán hoặc phân bổ dữ liệu, vui lòng chọn rõ ràng trong cài đặt quy trình làm việc để tránh ghi vào tài khoản khác khi ai đó thay đổi thao tác.

Làm cách nào để khắc phục sự cố nếu xác minh không thành công?

Mẹothường có nghĩa làphải làm gì
Thông tin xác thực không hợp lệMã thông báo được điền không chính xác, đã hết hạn hoặc có dấu cách và dấu ngắt dòng trong quá trình sao chép.Quay trở lại nền ngược dòng để tạo lại và sao chép toàn bộ chuỗi. Biểu mẫu sẽ không xóa nội dung đã điền và bạn có thể lưu trực tiếp sau khi thực hiện thay đổi.
Không đủ quyềnBản thân mã thông báo hợp lệ nhưng thiếu phạm vi cấp phép cần thiết cho lần đọc này.Thêm quyền tương ứng vào mã thông báo trong phần phụ trợ ngược dòng hoặc thay đổi thành tài khoản có quyền đầy đủ hơn.
Kết nối đã hết thời gian chờ hoặc bị từ chốiNgược dòng tạm thời không khả dụng hoặc khu vực đặt tài khoản yêu cầu tên miền truy cập khác.Hãy thử lại sau; khi dịch vụ cung cấp một trường khu vực hoặc trang web, hãy đảm bảo bạn chọn khu vực mà tài khoản thực sự thuộc về.
Endpoint trả về 404Thông tin xác thực có thể vẫn đúng — chỉ là loại tài khoản này không cung cấp endpoint mà bước kiểm chứng dùng đến.Hãy kiểm tra xem hạng tài khoản hay phiên bản sản phẩm của bạn có bao gồm endpoint đó không. Nếu thật sự không có, ủy quyền này vẫn lưu được và dùng trong quy trình.
Không đọc được khóa riêng tưChỉ gặp ở các dịch vụ dùng khóa ký: phần dán vào không phải toàn bộ tệp khóa riêng tư.Mở tệp .p8 bằng trình soạn thảo văn bản và sao chép toàn bộ, kể cả dòng BEGIN và END.
Thông báo nói vấn đề không nằm ở nội dung bạn nhậpChính cấu hình kết nối của dịch vụ này bị sai, không liên quan đến nội dung bạn nhập.Đừng dán lại thông tin xác thực thêm nữa, hãy liên hệ quản trị viên.
Số tài khoản hiển thị không chính xác.Thông tin đăng nhập hợp lệ nhưng thuộc về một tài khoản khác hoặc một ứng dụng phụ khác.Đây chính xác là vấn đề mà echo cần giải quyết - thay thế nó bằng thông tin xác thực của tài khoản đích và lưu nó.

ranh giới an ninh

  • Khóa chỉ được giải mã tại thời điểm yêu cầu bên ngoài được tập hợp. Nó không ghi nhật ký, không tham gia quy trình làm việc YAML và sẽ không bị đưa ra khỏi quy trình xuất và chia sẻ.
  • Mỗi dịch vụ khai báo tên miền mà nó cho phép truy cập và nền tảng sẽ chỉ bắt đầu yêu cầu đối với các tên miền này.
  • Việc tạo, cập nhật, xóa và sử dụng sẽ để lại hồ sơ kiểm tra, ghi lại tham chiếu và nguồn của giấy phép này mà không có văn bản rõ ràng.
  • Khi bạn nghi ngờ có rò rỉ, trước tiên hãy đến phần phụ trợ ngược dòng để thu hồi khóa thực nhằm chặn quyền truy cập, sau đó quay lại để xóa hoặc thay thế ủy quyền này.

Dịch vụ chưa có trong danh sách

Các mục được đánh dấu "Sớm được hỗ trợ" trong thư mục là các dịch vụ đã được lên lịch và thông số kỹ thuật chưa được đưa ra. Tuyến đường có thể được nhìn thấy, nhưng hiện tại không thể kết nối được.

Các dịch vụ hoàn toàn không có trong danh sách sẽ không ngăn cản bạn: sử dụng bước code để định cấu hình thông tin xác thực chung nhằm điều chỉnh trực tiếp API của nó hoặc đính kèm MCP Server vào Agent. Sự khác biệt là hai phương pháp này yêu cầu bạn phải tự xử lý các chi tiết xác thực và sẽ không có hướng dẫn ứng dụng, lưu và xác minh cũng như phản hồi tài khoản.

Bước tiếp theo

  • Nhận diện — Quy tắc lưu trữ, xoay và cấp phép cho khóa mô hình và khóa chung.
  • Môđun — Cách đọc hợp đồng của mô-đun chính thức và cách kết nối đầu vào và đầu ra.
  • Sự Kết hợp MCP — Gắn MCP Server vào Agent để tận dụng các khả năng ngoài danh sách.