Docs / Authentication

Authentication

Devloom supports OAuth2, API key, and bearer token strategies. Token refresh is automatic.

OAuth2

import { dlx } from 'devloom';

const client = dlx.client({
  connector: 'fieldvault-crm',
  auth: dlx.auth.oauth2({
    clientId: process.env.CLIENT_ID,
    clientSecret: process.env.CLIENT_SECRET,
    scopes: ['read', 'write'],
    autoRefresh: true
  })
});

API Key

const client = dlx.client({
  connector: 'apex-db',
  auth: dlx.auth.apiKey({
    header: 'X-Api-Key',
    value: process.env.APEX_KEY
  })
});

Bearer Token

const client = dlx.client({
  connector: 'novatick-itsm',
  auth: dlx.auth.bearer({
    token: process.env.NOVATICK_TOKEN
  })
});

Custom Token Store

For multi-instance deployments, pass a custom token store so OAuth2 tokens are shared across instances:

dlx.auth.oauth2({
  tokenStore: {
    get: (key) => redis.get(key),
    set: (key, val) => redis.set(key, val)
  }
});