Skip to main content

API Authentication

Machine-to-machine (M2M) authentication · Service-to-service authentication

Examples​

Diagram of the abstract OAuth 2.0 flow: the client obtains an access token from the authorization server to consume a protected resource on behalf of the user.

Description​

A component that lets external systems, services, or applications identify themselves to the system in order to consume resources or functionality. Unlike the authentication of human users, this process takes place automatically between systems, without manual intervention, using system-specific credentials such as API keys, access tokens, or digital certificates. Its purpose is to ensure that only authorized systems can access the system's endpoints and resources.

Mandatory capabilities​

Mandatory capabilities
  • Presents no graphical interface; the whole process takes place through programmatic calls (HTTP headers, parameters)
  • Uses system-specific credentials (API keys, OAuth tokens, TLS/mTLS certificates)
  • Validates the identity of the client system or service before allowing access to the server's resources

Additional capabilities​

Additional capabilities
  • Rate limiting / Per-client quotas: restricts the number of requests an authenticated client can make within a time interval, protecting the system from abuse or overload
  • Request auditing: records each authenticated request with the client's identification, the resource accessed, and the result, enabling traceability and later analysis
  • Automatic credential rotation: renews tokens or keys periodically, reducing the impact of compromised credentials

Boundaries​

What it is not
  • Does not handle the creation or management of API credentials — that belongs to a specialized Data Manager
  • Authentication does not imply authorization over specific resources — that belongs to Authorization
  • Does not define or implement the endpoints or services to be consumed; it only verifies the identity of the consumer

Information flow​

Input

Credentials of the client system (API key, OAuth token, certificate) sent in HTTP headers or parameters

→
Output

A session token valid for subsequent requests, or access denial

Variants​

  • API Key: a static key associated with the consuming system, sent with each request
  • OAuth 2.0: a protocol that issues temporary access tokens after an initial authentication
  • JWT (JSON Web Tokens): self-signed tokens that contain information about the system and their validity
  • mTLS (Mutual TLS): authentication through two-way digital certificates
  • HMAC / Signature: cryptographic signing of requests using shared secrets

Typical dependencies​

  • Credentials Data Manager (creation and administration of the keys and certificates of authorized systems)
  • Repository where the registered credentials are stored (Database)
  • Token manager (a system that issues and validates session tokens such as JWT)
  • Exposed Service (the component that publishes the services or functionality to be consumed once the system is authenticated)

Mapping to the Digital Board​

Manual UpdateNo
Automatic UpdateAlways
Data ConceptsAlways
On-Demand OutputsNo
Automatic OutputsNo
Autonomous ProcessesAlways
SectionRelationshipNotes
Manual UpdateNo—
Automatic UpdateAlwaysReception of authentication requests with credentials from external systems.
Data ConceptsAlwaysRegistered client system, credentials (API key, certificate), issued tokens.
On-Demand OutputsNo—
Automatic OutputsNo—
Autonomous ProcessesAlwaysValidating the client's identity is the mandatory autonomous process. Enforcement of rate-limiting policies and request audit logging, when those capabilities are present.

Digital Board example​

Manual Update
—
Data Concepts
Token
Client
On-Demand Outputs
—
Automatic Update
OAuth Request Reception
Autonomous Processes
Client Credential Validation
Auditing
Rate Limiting
Automatic Outputs
—