Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Larke Jwt Laravel Package

lake/larke-jwt

lake/larke-jwt is a Laravel package for JWT-based authentication, designed to help issue, parse, and validate JSON Web Tokens and integrate stateless API auth with Laravel guards and middleware. It simplifies protecting routes and securing API requests with tokens.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Stateless API authentication for a v1 or internal API. The package covers the two primitives most token features actually need — signing/verifying a JWT and producing/validating a JWS — so it can back a "log in once, carry a bearer token" flow without a session store. That is a real scoping decision: it lets you ship token auth without standing up Redis or a session table.
  • Build vs. buy on cryptography. Rolling your own HMAC/RSA signing and base64url handling is a classic source of silent security bugs. Adopting any vetted JWT library — including this one — is the "buy" side of that decision, and the PM-relevant point is that the cost of the buy is near zero and the cost of the build is a security incident.
  • Service-to-service and webhook identity. JWS support matters here: signing an outbound payload so a partner can verify it without a shared session, or verifying an inbound webhook. If your roadmap has "partner integrations" or "event callbacks," this is the primitive that unblocks it.
  • SPA / mobile client tokens. Short-lived access tokens plus a refresh path is the standard mobile auth shape. This package supplies the token half; the refresh-token storage, rotation, and revocation policy remain product decisions you own regardless of library.
  • An abstraction seam, not a commitment. The most defensible product use is to put token issuance/verification behind your own TokenService interface and let this package sit behind it. That converts a "which JWT library" debate into a one-file swap later, which is the decision a PM should actually be making.
  • Not a fit for: authorization policy (roles/scopes/tenancy), session revocation, or "log in with Google." Those are product surfaces that happen to carry a token; no JWT library decides them.

Caveat that shapes all of the above: zero stars, zero dependents, and a zero quality score mean the ecosystem signal is essentially absent. This is not a decision the package makes for you — it's a decision you make about the package.

When to Consider This Package

Consider it when most of these hold:

  • The integration is internal, low-blast-radius, or a time-boxed spike, and a token compromise would not be a headline.
  • Your team is already inside the author's ecosystem (the maintainer publishes a broad set of PHP libraries; if you already run several, the marginal supply-chain risk is lower and the API idioms will be familiar).
  • You need a small, framework-agnostic token primitive and specifically want to avoid pulling a large dependency tree into a service that otherwise has few requirements.
  • You want JWS detached/compact signing as well as plain JWT, and you'd rather not assemble that from openssl_* calls yourself.
  • You're willing to vendor, pin, and wrap it — commit the version, read the source (it is small), and expose only your own interface to the rest of the codebase.
  • License posture matters and BSD-3-Clause is acceptable to your legal/OSS review — it generally is, and it's more permissive than some alternatives' copyleft edges.

Look elsewhere when any of these hold:

  • Auth is customer-facing or revenue-critical. With no dependents, no community, and no security disclosure process you can point to, you are the maintainer of last resort. Use a library with a CVE history and a response to it — firebase/php-jwt, lcobucci/jwt, or web-token/jwt-framework.
  • You want Laravel-native ergonomics. This is plain PHP, not a Laravel package: no service provider, no guard, no config publishing. If you want auth:api to just work, tymon/jwt-auth or — better for most teams — Laravel Sanctum (first-party, opaque tokens) or Passport (full OAuth2) is the lower-risk call.
  • You need key rotation, JWKS discovery, or multi-issuer validation out of the box. You'd be building that on top.
  • You need a support contract or a named maintainer. There isn't one.
  • Your security review requires evidence of maintenance — tests, CI badges, release cadence with changelogs. A February 2025 release date is recent but is a single data point, not a track record.

The honest framing: this is a viable ingredient, not a viable platform choice. Adopt it behind an interface with an exit plan, or don't adopt it.

How to Pitch It (Stakeholders)

To executives: We need token-based authentication for the API work already on the roadmap. Signing tokens is a solved, commodity problem — the risk isn't whether we can do it, it's doing it wrong by hand. The candidate library is small, permissively licensed (BSD-3), and recently released, but it has effectively no adoption: no stars, no downstream projects, no visible community. My recommendation is not to standardize on it. It's fine as a short-term ingredient behind our own interface, with a named fallback (firebase/php-jwt or Laravel Sanctum) if it stalls. Cost of switching later is roughly a day, provided we don't let it leak into application code. Net: no schedule or budget impact, and we keep the option open.

To engineering: Small, framework-agnostic PHP library for JWT signing/verification and JWS. Not a Laravel package — no service provider, guard, or config publish, so plan on a thin adapter. The API surface is narrow enough to read in an afternoon, and I'd want that read plus a look at its test coverage before it touches anything customer-facing. Two non-negotiables: pin the exact version and vendor it, and put it behind a TokenService interface so the swap is a one-file change. Pick it where the blast radius is small — internal services, webhook verification, a spike — and use Sanctum or firebase/php-jwt for anything that authenticates paying users. Also decide the things the library won't decide for us: token lifetime, refresh and revocation strategy, and where signing keys live. Those are the actual work; the signing call is the easy part.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
skyraptor/chatter
edlugz/sasapay
abbasudo/artisan-route
mirvan/ippanel
ignibyte/aic-framework
glavweb/data-schema-bundle
glavweb/datagrid-bundle
tacticmedia/scim-server
uni-method/frame
neika-ai/sdk
adachsoft/php-code-style
pharaonic/laravel-notification-dependencies
beautinow/translug
dev-brainiac/bot-cloaked
octoberrain/html
octoberrain/extension
octoberrain/exception
octoberrain/contracts
adachsoft/api-version-bundle
cgv/localized-resource