Hello Uitsmijter Community!
I’d like to propose adding support for the Client Credentials Grant Type (RFC 6749, Section 4.4) to Uitsmijter. This addition would unlock powerful machine-to-machine (M2M) authentication scenarios.
Why Client Credentials Matter
Currently, Uitsmijter excellently handles user-centric authentication flows (authorization_code, refresh_token, and password grants). However, there’s a growing need for services to authenticate directly without user interaction. The client_credentials grant enables exactly this.
Real-World Use Cases
1. Microservices Authentication
In microservice architectures, services need to communicate securely without user context:
-
Order Service needs to check inventory with Stock Service
-
Notification Service needs to fetch user preferences from User Service
-
Analytics Service needs to aggregate data from multiple microservices
With client_credentials, each service gets its own identity and can authenticate independently using its client_id and client_secret.
2. IoT Device Integration
IoT devices and embedded systems need API access without user interaction:
-
Smart sensors pushing telemetry data
-
Industrial equipment reporting status
-
Connected vehicles synchronizing with backend services
-
Home automation systems accessing cloud services
These devices can securely authenticate using their pre-configured credentials, perfect for headless operation.
3. Background Jobs & Automation
Scheduled tasks and batch processes require reliable API access:
-
Nightly data synchronization jobs
-
Automated report generation
-
Backup and maintenance scripts
-
CI/CD pipeline deployments
-
Monitoring and alerting systems
Client credentials provide a clean way to grant these automated processes the exact permissions they need.
Do you think this would fit to uitsmijter?