AuthDeck
A lightweight OAuth 2.0 local token proxy that acts as a bridge between API clients and multiple external identity providers. AuthDeck presents itself as a single OAuth2 endpoint, so tools like Bruno never need to know which provider issues the token—or where its client secrets live.
The core idea is ad-hoc token selection: when a request arrives, a small terminal UI lets you decide which provider should fulfill it. The proxy transparently resolves, caches, and refreshes access tokens, injecting the right Authorization header when forwarding requests upstream.
Built in Go with Clean Architecture—clear separation of domain, use cases, interfaces, and infrastructure—AuthDeck stays pragmatic: standard library first, minimal dependencies, thread-safe in-memory caching, and automatic background refresh before expiry. It supports both the simpler Client Credentials flow and the interactive Authorization Code flow.





