renoki-co/hej
Hej is a Laravel package for adding user invitations to your app. It provides invite codes, acceptance flows, expiration, and Eloquent integration so you can build invite-only registration quickly and cleanly.
$fillable from the shipped model and makes the controller the extension point. Adding fields (locale, referral source, job role) no longer means forking or patching a vendored model — a meaningful reduction in long-term maintenance cost.Adopt when:
$fillable means you extend the controller instead of editing a vendored model.Look elsewhere when:
Upgrade considerations for 4.0 (breaking): republish and reconcile the config (redirects and allowed providers both moved into it), audit any code relying on mass assignment against the published model, and verify that previously working providers aren't silently denied by an un-updated allowlist. Treat the redirect setting as security-sensitive — validate it against open-redirect abuse.
For executives: This package is the "buy" half of a build-vs-buy decision on social login. It gives us standard sign-in with Google, Apple, and others without owning the OAuth plumbing. The 4.0 release makes provider rollout a configuration change instead of an engineering project, which is the part that matters commercially: entering a new market or enabling a new identity provider becomes a same-week ops task rather than a sprint. Cost is a config migration and a Laravel version floor, not a rewrite.
For engineering: 4.0 is a breaking major, scoped tightly. Three changes: Laravel 8 support is gone (9+ required); redirects and allowed providers move into the published config, so the config file must be republished and diffed rather than merged blindly; and the shipped model no longer declares $fillable, with the controller now the designated extension point. Practical impact — check for custom controllers extending the package's, check for mass-assignment calls against the user model, and check that the new allowlist doesn't lock out providers that were previously reachable by default. Redirect targets should be treated as untrusted input.
Recommendation: Adopt on Laravel 9+ projects where social login is a commodity feature. Pin 3.x if you're still on Laravel 8, and schedule the 4.0 upgrade alongside the framework bump with a config diff and an auth smoke test as the acceptance criteria. Reassess if requirements move toward SSO, MFA, or enterprise identity — at that point this package is the wrong layer and we should be evaluating an identity provider instead.
How can I help you explore Laravel packages today?