Trình Kết Nối Auth0

Kết nối Auth0 với Brevo qua Tajo để đồng bộ hồ sơ người dùng xác thực, forward các sự kiện đăng ký/đăng nhập và kích hoạt chiến dịch dựa trên trạng thái danh tính.

Tổng Quan

Thuộc TínhGiá Trị
Nền TảngAuth0
Danh MụcTùy Chỉnh
Độ Phức Tạp Thiết LậpTrung Bình
Tích Hợp Chính ThứcKhông
Dữ Liệu Đồng BộNgười Dùng, Sự Kiện, Tổ Chức
Loại APIREST API (Management API v2)
Xác ThựcMachine-to-Machine (M2M) OAuth

Tính Năng

  • Đồng bộ hồ sơ người dùng - Nhập người dùng Auth0 sang liên hệ Brevo
  • Kích hoạt sự kiện - Forward sự kiện đăng ký, đăng nhập và mật khẩu sang Brevo
  • Đồng bộ tổ chức - Ánh xạ tổ chức Auth0 sang phân đoạn hoặc thuộc tính Brevo
  • Dữ liệu User metadata - Đồng bộ app_metadata và user_metadata tùy chỉnh
  • Log streams - Stream log Auth0 sang Tajo để xử lý sự kiện theo thời gian thực

Yêu Cầu

Trước khi bắt đầu, hãy đảm bảo bạn có:

  1. Tài khoản Auth0 (Free, Essential, Professional, hoặc Enterprise)
  2. Auth0 tenant với Management API v2 được bật
  3. Machine-to-Machine Application với quyền phù hợp
  4. Tài khoản Brevo với quyền truy cập API
  5. Tài khoản Tajo

Xác Thực

Xác Thực Machine-to-Machine (M2M)

Auth0 sử dụng OAuth 2.0 Client Credentials grant cho truy cập server-to-server.

Terminal window
# Lấy access token
curl -X POST "https://YOUR_TENANT.auth0.com/oauth/token" \
-H "Content-Type: application/json" \
-d '{
"client_id": "YOUR_CLIENT_ID",
"client_secret": "YOUR_CLIENT_SECRET",
"audience": "https://YOUR_TENANT.auth0.com/api/v2/",
"grant_type": "client_credentials"
}'

Quyền API

M2M Application cần quyền Management API cụ thể. Tránh cấp read:users_app_metadata trừ khi cần thiết, vì nó truy cập dữ liệu nhạy cảm.

Quyền Cần Thiết

read:users
read:user_idp_tokens
read:logs
read:organizations
read:organization_members

Cấu Hình

Thiết Lập Cơ Bản

connectors:
auth0:
enabled: true
domain: "${AUTH0_DOMAIN}"
client_id: "${AUTH0_CLIENT_ID}"
client_secret: "${AUTH0_CLIENT_SECRET}"
sync:
users: true
organizations: true
logs: false # Sử dụng log streams thay thế

Ánh Xạ Trường

field_mapping:
email: email
given_name: FIRSTNAME
family_name: LASTNAME
phone_number: SMS
created_at: SIGNUP_DATE
last_login: LAST_LOGIN
logins_count: LOGIN_COUNT
app_metadata.plan: PLAN_TYPE
user_metadata.company: COMPANY_NAME

API Endpoints

Phương ThứcEndpointMô Tả
GET/api/v2/usersLiệt kê người dùng
GET/api/v2/users/{id}Lấy người dùng theo ID
PATCH/api/v2/users/{id}Cập nhật người dùng
GET/api/v2/logsLấy event logs
GET/api/v2/organizationsLiệt kê tổ chức
GET/api/v2/organizations/{id}/membersThành viên tổ chức

Ví Dụ Code

Khởi Tạo Trình Kết Nối

import { TajoClient } from '@tajo/sdk';
const tajo = new TajoClient({
apiKey: process.env.TAJO_API_KEY,
brevoApiKey: process.env.BREVO_API_KEY
});
await tajo.connectors.connect('auth0', {
domain: process.env.AUTH0_DOMAIN,
clientId: process.env.AUTH0_CLIENT_ID,
clientSecret: process.env.AUTH0_CLIENT_SECRET
});

Đồng Bộ Người Dùng Sang Brevo

// Đồng bộ người dùng Auth0 sang liên hệ Brevo
await tajo.connectors.sync('auth0', {
type: 'incremental',
resources: ['users'],
since: '2024-01-01',
batchSize: 100
});

Phân Trang

Management API v2 sử dụng phân trang dựa trên checkpoint. Tajo xử lý phân trang tự động, nhưng hãy cài đặt per_page tối đa (100) để giảm thiểu lần gọi API.

Giới Hạn Tốc Độ

GóiGiới Hạn
Free2 yêu cầu/giây
Essential15 yêu cầu/giây
Professional50 yêu cầu/giây
EnterpriseTùy chỉnh

Khắc Phục Sự Cố

Sự CốNguyên NhânGiải Pháp
401 UnauthorizedToken hết hạnLấy access token mới
403 ForbiddenQuyền không đủThêm quyền vào M2M Application
Người dùng thiếuFilter không đúngKiểm tra tham số q trong query
Logs không nhậnLog stream chưa cấu hìnhThiết lập Auth0 Log Stream sang webhook Tajo

Tài Nguyên Liên Quan

Subscribe to updates

developer-docs

Drop your email or phone number — we'll send you what matters next.

auto-detect
Trợ lý AI

Xin chào! Hãy hỏi tôi về tài liệu.