Skip to content
All articles
Product2 April 2025·3 min read

Top Ruby gems for authentication & authorization

The best signal that a feature is right is not that people ask for it.

Paycux engineering

The best signal that a feature is right is not that people ask for it. It is that people describe their problem in the shape of it before you have built anything.

This piece walks through how we think about it at Paycux, what we have changed our minds about, and where the sharp edges are.

Devise: Feature-rich and powerful

Devise: Feature-rich and powerful is where this gets concrete. Defaults are the product. Most people will never open the settings screen, which means the behaviour you chose for them is the behaviour they will experience forever.

Defaults are the product. Most people will never open the settings screen, which means the behaviour you chose for them is the behaviour they will experience forever.

OmniAuth: Authenticate with 3rd party services

OmniAuth: Authenticate with 3rd party services deserves its own treatment. Ship the smallest version that is honest about its limits. A feature that does one thing completely beats one that does five things with an asterisk on each.

Ship the smallest version that is honest about its limits. A feature that does one thing completely beats one that does five things with an asterisk on each.

  • Choose defaults as carefully as features
  • Settle the name before you ship the thing
  • Ship the smallest honest version
  • Say plainly what the feature does not do

Clearance: Minimalist authentication

That brings us to clearance: minimalist authentication. Naming is design work. If the team argues about what to call something, the disagreement is usually about what it is, and shipping before that is settled means shipping the confusion to customers.

Naming is design work. If the team argues about what to call something, the disagreement is usually about what it is, and shipping before that is settled means shipping the confusion to customers.

Authlogic: Flexible and customizable

Authlogic: Flexible and customizable deserves its own treatment. Naming is design work. If the team argues about what to call something, the disagreement is usually about what it is, and shipping before that is settled means shipping the confusion to customers.

Defaults are the product. Most people will never open the settings screen, which means the behaviour you chose for them is the behaviour they will experience forever.

Naming is design work.

Rodauth: A feature-rich authentication framework for Rails and Rack

Consider rodauth: a feature-rich authentication framework for rails and rack. Ship the smallest version that is honest about its limits. A feature that does one thing completely beats one that does five things with an asterisk on each.

Ship the smallest version that is honest about its limits. A feature that does one thing completely beats one that does five things with an asterisk on each.

Sorcery: Essential lightweight authentication

Sorcery: Essential lightweight authentication is where this gets concrete. Defaults are the product. Most people will never open the settings screen, which means the behaviour you chose for them is the behaviour they will experience forever.

Ship the smallest version that is honest about its limits. A feature that does one thing completely beats one that does five things with an asterisk on each.

Pundit: Minimal authorization through OO design and pure Ruby classes

That brings us to pundit: minimal authorization through oo design and pure ruby classes. Defaults are the product. Most people will never open the settings screen, which means the behaviour you chose for them is the behaviour they will experience forever.

Naming is design work. If the team argues about what to call something, the disagreement is usually about what it is, and shipping before that is settled means shipping the confusion to customers.

Where this leaves us

None of this is exotic. It is the ordinary discipline of deciding what you own, writing down what you assume, and making the failures loud enough to notice.

If you are working through the same problem and want to compare notes, the docs cover the mechanics and the console shows the behaviour on your own data.

Everything here, already built

Sign-in, enterprise SSO, directory provisioning, roles and an audit trail behind one API. Start with the quickstart and have a working sign-in this afternoon.

Start selling to enterprise customers

Create an account, point sign-in at Paycux, and get back to the part of the product that is actually yours.