Skip to main content

OAuth Client Overview

The OAuth Client API provides endpoints for managing OAuth 2.0 client applications that can authenticate against your Informer instance. This enables third-party applications, CLI tools, and device-based clients to securely access Informer APIs using standard OAuth 2.0 flows.

Features

  • Client CRUD - Create, manage, and revoke OAuth client applications
  • Secret Management - Rotate client secrets with bcrypt hashing
  • Authorization Code Flow - Standard OAuth 2.0 authorization code grant with PKCE support
  • Device Authorization Flow - For input-constrained devices (CLI tools, smart displays)
  • Refresh Tokens - Optional refresh token support with rotation and replay detection
  • Scope-Based Access - Granular scope system controlling API access per token
  • Templates - Pre-built client templates for Informer CLI and Informer GO

Authentication

All OAuth Client management endpoints require superuser access and the token API feature to be enabled. The OAuth protocol endpoints (authorize, token exchange) use standard OAuth authentication.

Permissions

OperationRequired
List clientsSuperuser + token API feature
Create clientSuperuser + token API feature
Edit clientSuperuser + token API feature
Delete clientSuperuser
Manage secretsSuperuser + token API feature
Revoke tokensSuperuser + token API feature

OAuth Scopes

Scopes control what APIs an issued token can access:

ScopeDescription
read:datasetRead-only dataset access
write:datasetRead/write dataset access
read:reportRead-only report access
write:reportRead/write report and query access
read:profileRead-only user profile access
write:profileRead/write user profile access
read:globalRead-only access to any endpoint
write:globalFull access to any endpoint

Token Lifecycle

  1. Authorization Code - Single-use, expires in 60 seconds (stored in Redis)
  2. Access Token - JWT, 15-minute expiration when refresh tokens are enabled, unlimited otherwise
  3. Refresh Token - JWT, 30-day expiration, rotates on each use with replay detection
  4. Token Record - Database record, expires after 30 days when refresh tokens are enabled

Built-in Clients

Informer ships with template definitions for two built-in clients:

ClientClient IDPKCEDescription
Informer CLIa6bd8f0f72b2c3275ff6YesCommand-line interface
Informer GO7de183326832a18237b4YesDesktop/mobile application

Next Steps