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

Discourse Php Laravel Package

cviebrock/discourse-php

A PHP client for the Discourse forum API that helps PHP and Laravel applications manage users, groups, topics, and notifications. It simplifies integrating community features, syncing accounts, and automating common Discourse tasks.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Community/forum launch — build vs. buy the integration. If the roadmap includes a customer community, support forum, or developer hub on Discourse, this package covers the "connect our existing accounts to the forum" slice. It handles the DiscourseConnect handshake — payload parsing, HMAC signature validation, nonce handling, signed response — which is the part most likely to be gotten wrong in-house.
  • Access as a product lever. SSO lets you gate forum access by plan tier, role, or org membership via Discourse groups populated from your user model. That makes "community access" a packaging/pricing decision rather than a separate account system.
  • Roadmap sequencing. Frames the real tradeoff: one to two engineer-days writing the handshake directly vs. adopting a small MIT helper. Everything else is unchanged either way — controller/routes, user mapping, group sync, secret rotation, deprovisioning — so the "buy" saving is real but bounded.
  • Support-cost reduction. A peer-support forum with SSO removes duplicate accounts and login friction; measure through login-related ticket volume and forum activation rate.
  • Explicitly out of scope: provisioning/deprovisioning, profile sync beyond the SSO payload, and OIDC/SAML. Those are separate decisions and should not be assumed covered.

When to Consider This Package

Adopt when:

  • You run (or plan to run) Discourse and want users to authenticate with existing product credentials.
  • Your identity source is a PHP/Laravel app and you're comfortable owning a controller, user mapping, and shared-secret management.
  • Your team is small enough that protocol work is better spent elsewhere, and you prefer a small, MIT-licensed, forkable surface over a heavyweight dependency.

Look elsewhere / reconsider when:

  • You want Laravel-native ergonomics. This is a framework-agnostic helper, not a service-provider-and-config package; expect to write the glue (routes, middleware, config) yourself. Check for a maintained Laravel wrapper first.
  • You need more than SSO. Discourse also speaks OAuth2/OIDC and SAML. If identity is strategic, an OIDC provider may be more future-proof and reusable across other tools than a Discourse-specific library.
  • Maintenance and compatibility are unverified. Low stars and zero dependents mean little community pressure to keep it current — confirm PHP-version compatibility and recent activity, and test signature/timing-safe comparison behavior before committing.
  • You need provisioning. SSO authenticates; it does not offboard. Plan group sync and periodic reconciliation separately, or "removed user still has forum access" becomes your risk.

Vendor-risk note: because the library is small and MIT-licensed, lock-in cost is low — a fork or clean-room reimplementation is a fallback, not a crisis. Price that optionality in rather than treating the dependency as strategic.

How to Pitch It (Stakeholders)

Executives: We can turn on single sign-on for our community forum with a small, free (MIT) PHP helper instead of custom protocol work — roughly a day or two of integration for a capability that typically anchors a community launch. Risk is bounded and reversible: the code is tiny, so we can fork or replace it without re-architecting. The important decision is policy, not code — who gets forum access, and how fast that access is removed when someone leaves.

Engineering: This handles the DiscourseConnect handshake — payload decode, HMAC-SHA256 validation, nonce handling, signed response — which is where most integration bugs live. We still own the controller, user mapping (stable external_id, email/username), group sync from plan/role, shared-secret rotation, and deprovisioning. It's a thin, forkable dependency; verify PHP compatibility and maintenance cadence in a short spike, and wrap it behind our own small adapter so swapping it out later is a one-file change.

Ask: approve a half-day to one-day spike to validate compatibility and prototype the login round-trip, then decide adopt vs. build against that adapter interface.

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.
3mdikram/worldmoneywords
snowsoft/config
itmosoft/laravel-subscriptions
larva/laravel-ai-qwen
diephp/sequences
users-au/socialite-provider
twidpay/twid-logger
mrnewport/laravel-plaid
mrnewport/laravel-repo
mrnewport/laravel-docsign
mrnewport/laravel-stow
mrnewport/laravel-flow
mrnewport/laravel-priceable
mrnewport/laravel-nestedterms
fredmeng/laravel-apidoc-generator
itstructure/laravel-multilingual-tools
pdustdar/elasticsearch
markupai/php-sdk
rlacerda83/lumem-microservice-shipment
uni-method/symfony-lib