Acknowledgements
lukk (the Laravel package) and lukk-js (the TypeScript / Nuxt client) stand on the shoulders of the Laravel and Nuxt ecosystems. Their design is a deliberate synthesis of ideas from the first-party packages — sincere thanks to the authors and maintainers who built them.
lukk is an independent, unofficial project. It is not affiliated with or endorsed by the Laravel or Nuxt teams; the names below are referenced only to describe design influence and compatibility, and are trademarks of their respective owners. These are simply the works that shaped it.
Server — lukk
- Laravel Sanctum — the architectural model.
HasRefreshTokensis theHasApiTokensanalog, the staticLukkhub mirrors Sanctum's configuration style, and the publish-only migration convention is borrowed wholesale. - Laravel Fortify — the customization philosophy: single-purpose actions + rebindable response contracts, hooks like
Lukk::registerUsing()(à laFortify::createUsersUsing()), thePassword::defaults()policy, and the configurable login identifier. - Laravel Passport — conventions for token issuance, publish-only migrations, and keeping models extensible.
- Laravel Jetstream & Breeze — the reference for two-factor + single-use recovery codes and step-up ("sudo") confirmation.
- tymon/jwt-auth — the established Laravel JWT package; its
lock_subjectapproach to cross-guard isolation directly informed lukk's multiple-guards design.
Built on: firebase/php-jwt (the sole runtime dependency), pragmarx/google2fa (TOTP), and web-auth/webauthn-lib by Spomky-Labs (passkeys).
Client — lukk-js
- Inertia.js —
useLukkFormis modelled on Inertia'suseForm: thedata/processing/errors/isDirtysurface,422error-bag binding, andremembersemantics all follow its lead. - Nuxt — the module + auto-imported composable design, and the SSR/BFF story (a Nitro proxy holding tokens server-side) build directly on Nuxt's server/client model.
- VueUse — the reference for ergonomic, composition-first composable API shapes.
- unjs —
lukk-coreand the BFF proxy are built on ofetch and h3 / Nitro.
This documentation
Built with VitePress; diagrams rendered by Mermaid (via vitepress-plugin-mermaid); AI-ingestible llms.txt by vitepress-plugin-llms.
And, above all, the Laravel and Nuxt communities that make all of this possible. 🙏