liveBook · Manning

Credential

As explained in Software Security for Developers

A client credential is authentication material that identifies an OAuth client to an authorization server.

A credential is authentication material used to prove identity. A client credential identifies an application to an authorization server, while user credentials identify people. section 12.2.3 section 12.3

Applications commonly need passwords, API keys, digital certificates, and other secrets to reach internal or external services. Keeping them in configuration files creates drift, weak auditability, and difficult rotation. section 2.2

A centralized credential service provides a safer operational pattern:

  • Maintains one source of truth for every application instance. section 2.2
  • Supports updates and notifications without requiring application restarts. section 2.2
  • Tracks expiration metadata, simplifies rotation, and provides detailed audit logs. section 2.2
  • Can protect secrets with hardware security modules. section 2.2

Service-to-service authentication

Suppose ACME must issue payments through a payment service provider. ACME authenticates directly with a trusted authorization server using its client credentials, receives an access token, and sends that token with requests to the provider. No user participates in this client credentials flow. section 12.2.3

How Software Security for Developers covers it

How deep it goes
Explains storage risks, centralized management, rotation, and the client credentials flow, but only sketches framework configuration.
Examples
Uses configuration files, credential vaults, ACME payment requests, and simplified identity-provider client settings.
What it assumes
Distinguishes user credentials from client credentials and introduces identity-provider responsibilities before configuring applications.
What you can do after
Apply via OAuth 2 client credentials when one service must authenticate to another without user involvement.
How it connects
Connects credentials with identity providers, authorization servers, OAuth 2, access tokens, and credential vaults.

Also explained in

Compare how 7 books explain credential →

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Software Security for Developers. The section links point to the parts of the book it draws on.