Skip to content
0:00 / 0:00

#macaroons#authorization#go

GopherCon 2018: An Over Engineering Disaster with Macaroons - Tess Rinearson

Gopher Academy

41K subscribers • 9 videos on Hallway

YouTube
  • Recommended by 1 person: 1 in engineering communities.
  • Presented by Tess Rinearson

Intermediate. Assumes working knowledge.

6.2K views8 years ago1 recommendation

Distributed systemsSecurityCryptographyMicroservices and monoliths

Tess Rinearson shares a postmortem of how her team's adoption of Macaroons for decentralized authorization led to unexpected system and developer experience issues.

Macaroons are a decentralized authorization credential designed for distributed systems. They allow services to grant authorization tokens for one another, with precisely limited scope and ability. Macaroons may very well be the future of authorization across services. Several months ago, Tess’s team eagerly adopted them, using an implementation in Go. Replacing their old system was easy enough—but working with macaroons turned out to be a disaster. In her talk, Tess will share how their decision to use macaroons negatively affected their user experience, their own developer experience, and even their system availability. They also lost hours of developer time arguing about the difference between a “macaroon” and a “macaron”. So, what makes macaroons so dang cool? How do they work? Why should gophers get excited about them and why did her team get excited about them? Why are macaroons such a tempting fit for a project, especially a Go project, and where did Tess’s team go wrong? What should a team of gophers consider and where did her team ultimately land? This is a story about cool new technology, over-engineering, and coconut cookies.

Why it's here

1 person recommends this

What people say. Recommended as a cautionary tale about the real-world complexities and pitfalls of adopting Macaroons for authorization.

u/vlmutoloin r/rust • Recommends

On “Does anyone have any thoughts/experience using `biscuit_auth` crate?”

In general, Biscuits seem like a really cool idea, though it seems like they're somewhat untested. I personally haven't heard of any big projects using them for auth. I think I'd be wary of using biscuits in production, though I'm planning on trying them out for auth in a side project I'm working on. Everyone seemed really hyped up about using "macaroons" for auth, and then you get stories like Tess Rinearson's presentation on how they were a huge mistake for their environment. I still don't know if using macaroons would be a good/bad idea for my production projects. I do know that they're unfamiliar to virtually everyone and that I'd be off the beaten path. Even fewer people have heard…