The Bike Shed

447: How to (not) implement impersonation


Listen Later

For developers, impersonation can be a powerful tool, but with great power comes great responsibility. In today’s episode, hosts Stephanie and Joël explore the complexities of implementing impersonation features in software development, giving you the ability to take over someone’s account and act as the user. They delve into the pros and cons of impersonation, from how it can help with debugging and customer support to its prime drawbacks regarding security and auditing issues. Discover why the need for impersonation is often a sign of poor admin tooling, alternative solutions to true impersonation, and the scenarios where impersonation might be the most pragmatic approach. You’ll also learn why they advocate for understanding the root problem and considering alternative solutions before implementing impersonation. Tune in today for a deep dive into impersonation and the best ways to use it (or not use it)!


Key Points From This Episode:

What’s new in Stephanie’s world: how Notion Calendar is helping her manage her schedule.

Joël’s quest to find a health plan: how he used a spreadsheet to compare his options.
A client request to build an impersonation feature, and why Joël has mixed feelings about it.
What an impersonation tool does: it allows you to take over someone’s account.
When it’s useful to use implementation as a feature, like for debugging and support.
Potential risks and responsibilities associated with impersonation.
Why the need for impersonation often indicates poor admin tooling.
Technical and security implications of impersonation.
Solutions for logging the audit trail when you’re doing impersonation.
Differentiating between the logged-in user and the user you’re rendering views for.
Building an app that isn’t as tightly coupled to the “current user.”
Suggested alternatives to true impersonation.
The value of cross-functional teams and collaborative problem-solving.

Links Mentioned in Today’s Episode:

Mailtrap
Notion Calendar
'Implementing Impersonation'
Sustainable Web Development with Ruby on Rails
The Bike Shed
Joël Quenneville on LinkedIn
Joël Quenneville on X
Support The Bike Shed
WorkOS

Support The Bike Shed

...more
View all episodesView all episodes
Download on the App Store

The Bike ShedBy thoughtbot

  • 4.9
  • 4.9
  • 4.9
  • 4.9
  • 4.9

4.9

121 ratings


More shows like The Bike Shed

View all
Radiolab by WNYC Studios

Radiolab

43,992 Listeners

Planet Money by NPR

Planet Money

30,808 Listeners

Marketplace by Marketplace

Marketplace

8,767 Listeners

Tentative by thoughtbot

Tentative

9 Listeners

The Changelog: Software Development, Open Source by Changelog Media

The Changelog: Software Development, Open Source

288 Listeners

Giant Robots Smashing Into Other Giant Robots by thoughtbot

Giant Robots Smashing Into Other Giant Robots

88 Listeners

Build Phase by thoughtbot

Build Phase

44 Listeners

Ruby Rogues by Charles M Wood

Ruby Rogues

45 Listeners

Software Engineering Daily by Software Engineering Daily

Software Engineering Daily

625 Listeners

Soft Skills Engineering by Jamison Dance and Dave Smith

Soft Skills Engineering

289 Listeners

Syntax - Tasty Web Development Treats by Wes Bos & Scott Tolinski - Full Stack JavaScript Web Developers

Syntax - Tasty Web Development Treats

989 Listeners

REWORK by 37signals

REWORK

210 Listeners

Crossroads by thoughtbot

Crossroads

2 Listeners

Remote Ruby by Chris Oliver, Andrew Mason

Remote Ruby

34 Listeners

Reboot by thoughtbot

Reboot

12 Listeners

Hard Fork by The New York Times

Hard Fork

5,527 Listeners

Shell Game by iHeartPodcasts and Kaleidoscope

Shell Game

1,123 Listeners

Complex Systems with Patrick McKenzie (patio11) by Patrick McKenzie

Complex Systems with Patrick McKenzie (patio11)

134 Listeners

The Pragmatic Engineer by Gergely Orosz

The Pragmatic Engineer

71 Listeners

Rails Business by Brendan Buckingham & Ryan Frisch

Rails Business

0 Listeners