Be om tidlig tilgang

Skriv inn fornavn og e-postadresse på jobb. Vi sender deg en lenke for å bekrefte forespørselen om tilgang til Tajo.

Auth0-kobling

Koblingsstatus: Planlagt Ikke bygget ennå. Tajo kjører ikke denne koblingen i dag.

Illustrasjon · eksempeldata

Eksempel på synkronisering

Se gjennom én oppføring

Kilde

Auth0

Koblingsstatus: Planlagt

Mål

Det andre verktøyet ditt

Koblingsstatus: Eget verktøy

KildefeltMålfeltEksempelverdi
record.id source_id record_1042
record.updated_at updated_at 2026-10-18T08:00:00Z
record.value value sample_value
  1. Utkast
  2. Se gjennom én oppføring
  3. Godkjenn denne versjonen

Status gjelder hver enkelt kobling og garanterer ikke at denne synkroniseringen er klar. Feltene er illustrative. Kontroller faktisk skjema og tillatelser før synkroniseringen kjører.

Koble Auth0 til Brevo via Tajo for å synkronisere autentiserte brukerprofiler som markedsføringskontakter, utløse automatiseringer basert på autentiseringshendelser og berike kundedataene dine med identitets- og tilgangsinnsikt.

Oversikt

EgenskapVerdi
PlattformAuth0 (av Okta)
KategoriIdentitet og tilgang (Custom)
OppsettskompleksitetMiddels
Offisiell integrasjonNei
Synkroniserte dataBrukere, hendelser, roller, identiteter
AutentiseringsmetodeMachine-to-Machine OAuth 2.0

Funksjoner

  • Synkronisering av brukerprofil - Synkroniser Auth0-brukerprofiler til Brevo-kontakter
  • Autentiseringshendelser - Utløs automatiseringer ved innlogging, registrering og tilbakestilling av passord
  • Rollebasert segmentering - Segmenter kontakter basert på Auth0-roller og -tillatelser
  • Data fra sosiale identiteter - Berik kontakter med profilinformasjon fra sosiale innlogginger
  • Sporing av innloggingsaktivitet - Spor siste innlogging, antall innlogginger og enhetsdata
  • Multi-tenant-støtte - Synkroniser brukere på tvers av flere Auth0-tenants

Forutsetninger

Før du begynner, sørg for at du har:

  1. En Auth0-konto med API-tilgang
  2. En Machine-to-Machine-applikasjon registrert i Auth0
  3. Management API-tillatelser gitt til M2M-applikasjonen
  4. En Brevo-konto med API-tilgang
  5. En Tajo-konto med koblingstillatelser

Autentisering

Machine-to-Machine OAuth 2.0

Terminal window
# Create an M2M application in Auth0 Dashboard
export AUTH0_DOMAIN=your-tenant.auth0.com
export AUTH0_CLIENT_ID=your_client_id
export AUTH0_CLIENT_SECRET=your_client_secret
export AUTH0_AUDIENCE=https://your-tenant.auth0.com/api/v2/
// Get Management API access token
const tokenResponse = await fetch(
`https://${process.env.AUTH0_DOMAIN}/oauth/token`,
{
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
client_id: process.env.AUTH0_CLIENT_ID,
client_secret: process.env.AUTH0_CLIENT_SECRET,
audience: process.env.AUTH0_AUDIENCE,
grant_type: 'client_credentials'
})
}
);
const { access_token } = await tokenResponse.json();
// Token is valid for 24 hours by default

API-tillatelser

Gi kun nødvendige scopes til M2M-applikasjonen din: read:users, read:user_idp_tokens, read:roles og read:logs. Unngå å gi skrivetillatelser med mindre det er nødvendig.

Konfigurasjon

Grunnleggende oppsett

connectors:
auth0:
enabled: true
domain: "${AUTH0_DOMAIN}"
client_id: "${AUTH0_CLIENT_ID}"
client_secret: "${AUTH0_CLIENT_SECRET}"
audience: "https://${AUTH0_DOMAIN}/api/v2/"
sync:
users: true
events: true
roles: true
schedule: "0 */4 * * *" # Every 4 hours
lists:
all_users: 20
verified_users: 21
social_login: 22

Feltmapping

field_mapping:
email: email
given_name: FIRSTNAME
family_name: LASTNAME
nickname: NICKNAME
picture: AVATAR_URL
email_verified: EMAIL_VERIFIED
logins_count: LOGIN_COUNT
last_login: LAST_LOGIN_DATE
created_at: SIGNUP_DATE
user_metadata.phone: SMS
user_metadata.company: COMPANY
app_metadata.plan: SUBSCRIPTION_PLAN
app_metadata.role: USER_ROLE

API-endepunkter

EndepunktMetodeBeskrivelse
https://{domain}/api/v2/usersGETList eller søk brukere
https://{domain}/api/v2/users/{id}GETHent en bruker
https://{domain}/api/v2/users/{id}PATCHOppdater brukermetadata
https://{domain}/api/v2/users/{id}/rolesGETHent brukerroller
https://{domain}/api/v2/rolesGETList alle roller
https://{domain}/api/v2/logsGETHent logghendelser
https://{domain}/api/v2/stats/active-usersGETHent antall aktive brukere
https://{domain}/api/v2/stats/dailyGETHent daglig statistikk
https://{domain}/oauth/tokenPOSTHent access token

Kodeeksempler

Initialiser kobling

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
});

Synkroniser brukere til Brevo

// Paginate through Auth0 users
let page = 0;
const perPage = 50;
let hasMore = true;
while (hasMore) {
const response = await fetch(
`https://${domain}/api/v2/users?` +
new URLSearchParams({
page: page.toString(),
per_page: perPage.toString(),
include_totals: 'true',
search_engine: 'v3',
q: 'email_verified:true'
}),
{
headers: { 'Authorization': `Bearer ${accessToken}` }
}
);
const { users, total } = await response.json();
for (const user of users) {
await tajo.contacts.sync({
email: user.email,
attributes: {
FIRSTNAME: user.given_name,
LASTNAME: user.family_name,
LOGIN_COUNT: user.logins_count,
LAST_LOGIN_DATE: user.last_login,
SIGNUP_DATE: user.created_at,
EMAIL_VERIFIED: user.email_verified
},
listIds: [20]
});
}
page++;
hasMore = (page * perPage) < total;
}

Spor autentiseringshendelser via Log Streams

// Set up Auth0 Log Stream webhook
// Configure in Auth0 Dashboard > Monitoring > Streams
app.post('/webhooks/auth0', async (req, res) => {
// Verify authorization header
const authHeader = req.headers.authorization;
if (authHeader !== `Bearer ${process.env.AUTH0_WEBHOOK_TOKEN}`) {
return res.status(401).send('Unauthorized');
}
const logs = req.body;
for (const log of logs) {
switch (log.data.type) {
case 's': // Successful login
await tajo.events.track({
email: log.data.details.email,
event: 'user_login',
properties: {
ip: log.data.ip,
user_agent: log.data.user_agent,
connection: log.data.connection
}
});
break;
case 'ss': // Successful signup
await tajo.contacts.sync({
email: log.data.details.email,
attributes: { SIGNUP_DATE: log.data.date },
listIds: [20]
});
break;
case 'sp': // Successful password change
await tajo.events.track({
email: log.data.details.email,
event: 'password_changed'
});
break;
}
}
res.status(200).send('OK');
});

Rollebasert segmentering

// Sync user roles for segmentation
const rolesResponse = await fetch(
`https://${domain}/api/v2/users/${userId}/roles`,
{
headers: { 'Authorization': `Bearer ${accessToken}` }
}
);
const roles = await rolesResponse.json();
const roleNames = roles.map(r => r.name).join(', ');
await tajo.contacts.update(userEmail, {
attributes: {
USER_ROLE: roleNames,
IS_ADMIN: roles.some(r => r.name === 'admin')
}
});

Hastighetsgrenser

EndepunktskategoriGrenseMerknader
Management API50 req/sek (Free)Per tenant
Management API100 req/sek (Paid)Per tenant
Authentication APIVariererBasert på plan
Log StreamsSanntidIngen hastighetsgrense på levering
PagineringMaks 50 elementer/sideBruk page- og per_page-parametere

Paginering påkrevd

Auth0 Management API returnerer maksimalt 50 resultater per side. Implementer alltid paginering med parametrene page og per_page. Inkluder include_totals=true for å få totalantallet.

Feilsøking

ProblemÅrsakLøsning
401 UnauthorizedToken utløptBe om ny M2M-token (24t utløp)
403 ForbiddenManglende scopesGi påkrevde tillatelser til M2M-app
Tom brukerlisteFeil i søkespørringenBruk Lucene-spørresyntaks for v3-motor
Manglende metadataMetadata ikke sattSjekk user_metadata og app_metadata
Hastighetsgrense 429For mange forespørslerImplementer backoff med retry-headere

Feilsøkingsmodus

connectors:
auth0:
debug: true
log_level: verbose
log_sync: true

Beste praksis

  1. Bruk Log Streams - Sanntids hendelses-streaming i stedet for polling av Logs API
  2. Implementer paginering - Paginér alltid brukerlistespørringer for store tenants
  3. Cache M2M-tokens - Gjenbruk tokens til nær utløp (24t standard levetid)
  4. Bruk search engine v3 - Bruk Lucene-spørresyntaks for effektive brukersøk
  5. Synkroniser kun verifiserte brukere - Filtrer på email_verified:true for å unngå ubekreftede kontakter
  6. Utnytt brukermetadata - Lagre egendefinerte attributter i Auth0 user_metadata for synkronisering

Sikkerhet

  • Machine-to-Machine OAuth - Client credentials grant for server-til-server-autentisering
  • Scopede tillatelser - Gi minimum nødvendige Management API-scopes
  • Token-rotering - M2M-tokens utløper etter 24 timer som standard
  • Log Stream-autentisering - Bruk bearer token-verifisering for webhook-endepunkter
  • Tenant-isolasjon - Separate konfigurasjoner per Auth0-tenant
  • Kryptert transport - TLS 1.2+ for all API-kommunikasjon

Relaterte ressurser

Be om tidlig tilgang

Skriv inn fornavn og e-postadresse på jobb. Vi sender deg en lenke for å bekrefte forespørselen om tilgang til Tajo.

AI-assistent

Hei! Spør meg om dokumentasjonen.

Denne siden som Markdown: auth0.md

Laster inn Markdown …
Åpne i Claude Åpne i ChatGPT