Header BackgroundHeader BackgroundHeader BackgroundHeader BackgroundSebastian

Welcome to the AuthDeck project dossier. This is where I document the complete journey of building AuthDeck - from initial concept through implementation challenges to final release.

Follow along as I share technical decisions, architectural patterns, and practical insights gained while developing this flexible token selection for bruno and other oauth-based tools.

This project is currently in available phase. Explore the articles below to see the evolution and lessons learned.

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.

available10 articles
Source Code: MPL-2.0 · Content: CC BY-SA 4.0 · Credits & AI Disclosure