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

Url Signer Bundle Laravel Package

tilleuls/url-signer-bundle

Symfony bundle for generating and validating signed URLs. Add tamper-proof, expiring links to routes, downloads, and API endpoints, protect resources from unauthorized access, and verify signatures through a simple, configurable service.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Build vs. buy for time-limited access links. The package answers a recurring product question — "how do we let users share or receive a resource without building a full permission system?" — with a small, purpose-built signed-URL primitive rather than a custom authorization layer.
  • Feature feasibility for secure sharing flows. Directly enables roadmap items such as: expiring download links for private media or generated reports, one-time or time-boxed invitations, secure unsubscribe/preference links, gated content previews, and temporary API/webhook access to a resource.
  • Scope decisions around access control. Signed URLs let a team defer heavier investments (full RBAC, token services, signed-token infrastructure) for use cases that only need tamper-evident, expiring links — a useful pressure valve on the roadmap.
  • Use-case triage. A fit only where the requirement is "a URL that proves itself and expires," not where you need revocation, fine-grained scopes, audit logging, or identity. This distinction is the main PM judgment this package forces.
  • Symfony vs. Laravel platform note. This is a Symfony bundle, not a Laravel package. Adoption decisions should treat it as a Symfony-stack option; for Laravel, the concept applies but the package does not (Laravel ships signed-URL support natively via URL::signedRoute() / URL::temporarySignedRoute()). Framing it as a "Laravel/PHP package" overstates its portability.

When to Consider This Package

Consider it when:

  • The application is Symfony-based and you want a maintained, convention-following way to generate and validate signed URLs with an expiry rather than hand-rolling HMAC logic.
  • The core requirement is exactly "create and validate a signed URL with a limited lifetime" — no revocation, no scopes, no token introspection.
  • You value keeping the signing/validation logic out of application code and inside a bundle with configuration, so it is consistent across controllers and services.
  • You need the standard set: a signer that emits URLs, a listener or validator that rejects tampered or expired links, and key/config management — ideally against an underlying library that is independently versioned.

Look elsewhere when:

  • You are on Laravel. Native URL::temporarySignedRoute() and middleware cover this with first-class framework support; adding a Symfony bundle would be a mismatch.
  • You need a richer token model. Revocation lists, single-use guarantees, scoped claims, or JWT semantics point to a dedicated token/JWT library rather than URL signing.
  • You want maximum longevity/low risk. With ~80 stars and 0 dependents on the tracked registry, this is a low-adoption package. That is a real signal for a dependency that touches security. Weigh maintenance, security-response posture, and the option to copy the small amount of logic into your codebase instead.
  • You need more than signing primitives — for example, CDN-native signed URLs (CloudFront/Azure), which often belong in infrastructure config rather than application code.

Adoption criteria: the signing primitive is small and auditable; its behavior (expiry, tamper detection, key handling) must be tested against your own threat model and covered by your own tests, since you are effectively vouching for it.

How to Pitch It (Stakeholders)

To executives (summary): This is a small, MIT-licensed Symfony component that lets us hand out links which prove they are legitimate and expire on their own. It is the cheapest way to support a class of sharing/access features — private downloads, invitations, expiring previews — without building a permission system or a security service. It is not a platform bet: it is a low-cost, narrowly scoped dependency. The main caution is maturity (small user base), so we would adopt it deliberately, wrap it thinly, and test the security behavior we rely on.

To engineering: Proposed approach is "adopt the concept, wrap the dependency." Use the bundle for Symfony applications where signed URLs are a genuine fit; keep our own tests around expiry and tamper rejection; isolate calls behind a small service so we can swap to in-house signing or another library without refactoring call sites. For Laravel services, use framework-native signed routes — do not import this bundle. Where the requirement drifts toward revocation, scopes, or audit, escalate to a token/JWT design instead of stretching this package.

To security/architecture: Confirm key management and rotation story, expiry and clock-skew behavior, and whether validation is middleware-based or explicit. Because the package is small and low-adoption, we should treat it as "reviewed by us," not "trusted by ecosystem," and be prepared to fork or inline the logic if maintenance stalls.

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.
tequilarapido/trackit
gregsphotography/site-builder-filament
cabaoctavio/laravel-query-log
gregsphotography/site-builder-components
io-digital/clickatell
snowsoft/laravel-admin
oxygen/auth
relicsoftware/barakah-payment-gateway
tobya/work-with-composer
equipc/laravel-email-validator
equipc/laravel-email-database-log
adedsec/nova-translated-labels
wazza/laravel-db-encryption
hokny/laravel-generator
vonsogt/backup
jengo/queues
jeremykenedy/laravel-observability
coleus/frame
thtg88/journalism
filagora/filagora-ai-forums