Skip to main content
Before deploying FrontMCP authentication to production, review this comprehensive checklist covering security, configuration, and operational requirements.

Pre-Deployment Checklist

1

Configure Persistent Token Storage

Replace in-memory storage with Redis or another persistent store.
2

Provide Persistent Signing Keys

Auto-generated keys are lost on restart. Provide stable keys.
3

Enable Refresh Token Flow

For local and remote modes, opt into automatic token refresh.
In remote mode, token TTLs are controlled by the upstream identity provider — FrontMCP does not mint its own access/refresh tokens. In local mode, FrontMCP acts as the authorization server and mints its own tokens (signed with local.signKey).
4

Enable HTTPS

All production traffic must use TLS. Configure your reverse proxy or load balancer.
5

Set Expected Audience

For transparent mode, always validate the audience claim.

Security Requirements

Required

HTTPS only - Never expose auth endpoints over HTTP in production
Persistent token storage - Redis with TLS for multi-instance deployments
Stable signing keys - Provide keys via environment or secrets manager
PKCE enforcement - OAuth 2.1 requires PKCE (S256 only)
Refresh token rotation - Always rotate refresh tokens on use
Audience validation - Validate aud claim in transparent mode
Machine ID - Set MACHINE_ID env var for multi-instance session portability
Rate limiting - Protect token endpoints from brute force
Monitoring - Alert on auth failures, unusual patterns
Key rotation - Rotate signing keys periodically (30-90 days)
Scope minimization - Request only necessary scopes
Consent UI - Let users see what they’re authorizing

Configuration Reference

Minimum Production Configuration

Environment Variables


Token Lifetime Guidelines

Shorter access tokens improve security but increase refresh frequency. Monitor your refresh token endpoint load.

Key Management

Generating Production Keys

Key Rotation Strategy

Configuration for Key Rotation

The local block accepts a single signKey (and optional jwks containing previous keys for validation during rollover). Rotation is performed by deploying a new server build with an updated signKey while keeping the old key in jwks until in-flight tokens expire.

Redis Configuration

Secure Redis Connection

Redis Data Stored


Monitoring & Alerting

Key Metrics to Monitor

Logging Configuration


Common Production Issues

Cause: Auto-generated keys changed after restart.Solution: Provide persistent signing keys via environment variable:
Cause: Using in-memory storage with multiple instances.Solution: Configure shared Redis storage:
Cause: Network issues or IdP rate limiting.Solution:
  • Increase JWKS cache TTL
  • Consider inline JWKS for critical IdPs
  • Add retry logic with exponential backoff
Cause: Redis connection issues or key generation overhead.Solution:
  • Use Redis connection pooling
  • Pre-generate signing keys (don’t generate on-demand)
  • Monitor Redis latency

Security Hardening

Disable Insecure Options

For remote mode, DCR is configured under providerConfig:

HTTP Security Headers

Configure your reverse proxy to add security headers:

Rate Limiting

FrontMCP includes a built-in session rate limiter with a sliding window algorithm: The rate limiter tracks requests per key (typically client IP) and provides:
  • wouldAllow(key) — pre-check without consuming quota
  • getStats() — monitoring statistics
For external rate limiting on the token endpoint:

Deployment Patterns

In-memory storage loses all sessions on restart. Users must re-authenticate.

Quick Reference

OAuth 2.1 Compliance Checklist

PKCE required for all clients (S256 only)
Refresh token rotation enabled
No implicit grant flow
Authorization codes single-use
Redirect URI exact match
State parameter required

Pre-Production Verification


Next Steps

Authorization Modes

Choose the right mode for your deployment

Tokens & Sessions

Configure token lifetimes and storage

Local OAuth

Built-in OAuth server setup

Remote OAuth

External IdP integration