Skip to main content

Authentication

Subscriberbot uses Burdenoff Workspaces identity. All authentication flows are handled through the platform's OAuth2 and token infrastructure.

Supported flows​

FlowUse caseClient id
OAuth2 Device CodeInteractive CLI, browser extension, VS Code extensionburdenoff_cli_subscriberbot
OAuth2 Authorization Code + PKCEWeb and mobile appsVaries by app
Client CredentialsService-to-service / M2M / CI automationIssued per app
Email / PasswordDirect SDK sign-inN/A (platform native)

OAuth2 Device Code​

The default flow for CLI, browser extension, VS Code extension, and MCP server:

  1. The client requests a device code from the global gateway (/global/oidc/device/code).
  2. The user opens the verification URL and enters the code.
  3. The client polls /global/oauth/device/token until the user completes approval.
  4. The client receives an access token + refresh token pair.
  5. For workspace-scoped operations, the client calls issueWorkspaceToken to mint a workspace token.

Workspace queries send both headers:

  • Authorization: Bearer <platform token>
  • X-Workspace-Authorization: Bearer <workspace token> (browser extension)
  • Or the workspace token is exchanged internally by the SDK/CLI.

Token storage​

SurfaceStorage pathPermissions
CLI~/.config/subscriberbot-cli/auth.json0600
Browser extensionchrome.storage.localExtension-only
VS Code extensionVS Code SecretStorageOS keychain
MCP server~/.config/subscriberbot-mcp/0600
Node SDKIn-memory or caller-providedCaller-managed
Python SDKIn-memory or caller-providedCaller-managed

Token refresh​

Platform tokens auto-refresh before expiry (typically every ~1 hour). Workspace tokens are re-issued on workspace switch or as needed by the SDK/CLI. The SDKs support autoRefresh: true by default.

Environment-specific issuers​

EnvironmentOIDC issuerGlobal gateway
prod (default)https://graphql.burdenoff.com/globalhttps://graphql.burdenoff.com/global/graphql
alphahttps://alphagraphql.burdenoff.com/globalhttps://alphagraphql.burdenoff.com/global/graphql
localhttp://localhost:4000/globalhttp://localhost:4000/global/graphql

Override with SUBSCRIBERBOT_OIDC_ISSUER or the equivalent per-product env var.

Managing identity​

Profile, MFA, sessions, SSO, and API keys are platform-level concerns managed through Burdenoff Workspaces:

Environment selection

All auth flows target production by default. To authenticate against alpha or local, set BURDENOFF_ENV=alpha|local or pass explicit oidcIssuer / globalEndpoint values. See Environment Selection for endpoint details.