IM
ES
Inicio de documentación
Menú
Guías

Bootstrap de autenticación y token

adquirir tokens de portador y verificar el comportamiento del endpoint de autenticación antes de llamar a la API de Inbox Manager.

inbox-manager client-flow

Bootstrap de autenticación y token

Propósito: adquirir tokens de portador y verificar el comportamiento del endpoint de autenticación antes de llamar a la API de Inbox Manager.

Nota de límites:

  • Este flujo llama a los endpoints de auth.inbox-manager.com.
  • Esas rutas no forman parte del OpenAPI de api.inbox-manager.com.

Flujo de interfaz de usuario

  1. El usuario abre el formulario de registro o inicio de sesión.
  2. UI envía credenciales a https://auth.inbox-manager.com/auth/sign-up o /auth/sign-in.
  3. Las tiendas de UI devolvieron el token de acceso y el contexto de la cuenta.
  4. La interfaz de usuario solicita un token con ámbito de cuenta a través de POST /api/accounts/:account_id/token cuando es necesario.
  5. La interfaz de usuario utiliza el token devuelto como Authorization: Bearer <token> para api.inbox-manager.com.

Flujo de la biblioteca del cliente

const auth = new AuthClient({ baseUrl: "https://auth.inbox-manager.com" });
const session = await auth.signIn({
  email,
  password,
  clientId: "cid_inbox_manager",
});
const accountToken = await auth.issueAccountToken({
  accountId: session.profile.active_membership.account_id,
  bearerToken: session.tokens.access_token,
  audience: "https://api.inbox-manager.com",
});
const api = new InboxManagerClient({
  baseUrl: "https://api.inbox-manager.com",
  bearerToken: accountToken.access_token,
});

Flujo HTTP/curl

AUTH_BASE_URL="https://auth.inbox-manager.com"
ORIGIN="https://app.inbox-manager.com"
CLIENT_ID="cid_inbox_manager"

curl -sS "${AUTH_BASE_URL}/.well-known/jwks.json"

curl -sS -X POST "${AUTH_BASE_URL}/auth/sign-in" \
  -H "origin: ${ORIGIN}" \
  -H "content-type: application/json" \
  --data "{\"client_id\":\"${CLIENT_ID}\",\"email\":\"${EMAIL}\",\"password\":\"${PASSWORD}\",\"csrf_token\":\"${CSRF_TOKEN}\"}"

curl -sS -X POST "${AUTH_BASE_URL}/api/accounts/${ACCOUNT_ID}/token" \
  -H "authorization: Bearer ${ACCESS_TOKEN}" \
  -H "content-type: application/json" \
  --data '{"audience":"https://api.inbox-manager.com"}'

Script de validación

  • scripts/auth_probe.sh
  • scripts/auth_bootstrap_accounts.sh