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.
What to look for in an auth provider for Laravel apps
Consider what to look for in an auth provider for laravel apps. 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.
Paycux
Paycux deserves its own treatment. 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.
- 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
Key features
Consider key features. 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.
Best for
That brings us to best for. 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.
Naming is design work.
Trade-offs
Consider trade-offs. 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.
Laravel Breeze / Fortify
Laravel Breeze / Fortify 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.
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.
Laravel Sanctum
Consider laravel sanctum. 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.
Where this leaves us
The pattern repeats across every system we have looked at: the hard part is not the mechanism, it is keeping the mechanism honest as the surrounding assumptions change.
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.