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

Socialiteproviders Evopixel Laravel Package

evopixel/socialiteproviders-evopixel

EvoPixel provider for Laravel Socialite adds OAuth login support to Laravel apps. Install via Composer, configure EvoPixel credentials, and let users sign in with their EvoPixel account using the familiar Socialite API.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Assessment basis: First assessment; baseline is package v1.0.0 (initial release). No production usage data.

  • Architecture fit: Thin adapter over Laravel Socialite via the SocialiteProviders Manager 4.x driver contract. Fit is good for apps that already treat Socialite as the identity abstraction and where the platform is the primary IdP. It is not a general OIDC client — it is a platform-specific driver, so it should sit behind an internal auth boundary (a service/interface your app owns) rather than being called directly from controllers and models. Roles/permissions/linked accounts exceed Socialite's User contract (id, nickname, name, email, avatar, raw), so expect those to arrive as raw claims or on a subclass; the mapping into your authorization model is your code, not the package's.
  • Integration feasibility: Composer install, register the provider with the Manager, add client id/secret/redirect URI to config, add redirect + callback routes. Low code volume. The real cost is not code — it is platform-side app registration, scope approval, and "official platform application" status for central logout.
  • Technical risk (ranked):
    1. PHP 7.4 floor is EOL; support is stated as 7.4 and 8.2-tested only. Untested 8.3/8.4 is a live concern for Laravel 11/12 estates, which require newer PHP anyway — verify the Socialite / Laravel / Manager version matrix before committing.
    2. SocialiteProviders Manager 4.x major pin plus an implicit Socialite version dependency creates a narrow upgrade corridor; a Manager or Socialite major becomes a coordinated three-way upgrade.
    3. Central logout is gated on "official platform application" — if you are not one, single logout / back-channel logout is unavailable and you ship local-session-only logout. This is a product decision with a support-ticket lead time, not a code decision.
    4. Refresh token rotation requires atomic persistence of the token family; concurrent requests replaying the same refresh token can trip reuse detection and hard-fail a user session.
    5. OIDC is optional, so "no ID token validation" is a valid configuration. Security posture becomes a config flag — enforce it as a deployment policy, not a default.
    6. Session-bound state + PKCE S256 is correct and modern, but constrains you to shared session storage; stateless/API-first and cross-domain SPA flows are out of scope by design.
  • Key questions for the maintainer/vendor: What is the exact Laravel/Socialite version matrix behind "Manager 4.x"? Are roles/permissions/linked accounts returned as ID-token claims or via additional API calls (latency and rate-limit implications)? What is the process and eligibility bar for official-application status? Is there a sandbox tenant? Does JWKS caching handle key rotation with an overlap window? Is revocation a synchronous call on logout? Any stated path to PHP 8.3/8.4 and Laravel 11+?

Integration Approach

  • Stack fit: Laravel monolith or API with server-rendered login, Redis/DB sessions, PHP 7.4–8.2. Best fit is a Laravel 9/10 app already using Socialite for other providers.
  • Migration path: Treat as additive, not a replacement. Stand up platform login alongside existing password/SSO login; link accounts by verified email only after ID-token or userinfo verification; do not migrate user IDs or sessions. If you already have a bespoke OAuth integration with this platform, run the driver in parallel on a staging tenant and diff the token and claim payloads before cutover; keep the old path behind a flag for one release.
  • Compatibility: Pin exact versions and commit the lock file; build a 4-way matrix (PHP × Laravel × Socialite × Manager) and test the two or three combinations you actually deploy. Explicitly test on the PHP version running in production, not the tested-8.2 assumption. Confirm redirect URI exactness per environment (trailing slash, scheme, port).
  • Sequencing:
    1. Vendor onboarding: app registration, scopes, official-application request (long lead time — start first).
    2. Sandbox spike: login, callback, token persistence, one forced refresh.
    3. Decide token storage (encrypted column vs session vs vault) and enforce it centrally.
    4. Enable OIDC; validate signature path, discovery caching, JWKS rotation, nonce/clock skew.
    5. Map roles/permissions/linked accounts into an internal authorization adapter; keep the vendor's vocabulary out of domain code.
    6. Implement logout: local logout always; central logout only if official status is granted.
    7. Failure-path work: revocation, reuse detection, provider outage, expired state.
    8. Observability, then a limited pilot cohort before general availability.

Operational Impact

  • Maintenance: v1.0.0 with README-only documentation and community-style stewardship — assume no formal deprecation policy, no upgrade guide, no LTS. Budget a small recurring allowance for dependency bumps and a documented fallback: wrap the driver behind your own interface so a fork or a hand-rolled Socialite provider is a contained swap. The PHP 7.4 floor is inherited risk; track upstream support for 8.3/8.4 and Laravel 11+ as a standing agenda item.
  • Support: No vendor SLA for the package itself. You own first-line support; the auth path is high-severity by definition, so write a runbook covering login failures, token endpoint errors, JWKS outages, and forced re-login. Escalation to the platform vendor is needed for official-application status, scope changes, and central logout behavior — establish that channel before launch, not during an incident.
  • Scaling: Extra network hops per login (discovery, JWKS, token, possibly userinfo/roles). Cache discovery and JWKS aggressively with a rotation grace window. Refresh rotation needs a distributed lock or row-level claim per user session, or concurrent tabs/workers will self-invalidate. Session-bound state requires a shared session store across nodes — sticky sessions are a workaround, not a design. If roles/permissions are fetched per login rather than carried in claims, expect N extra calls per authentication and a token-endpoint rate-limit ceiling worth measuring at peak login rate.
  • Failure modes to instrument and alert on: JWKS fetch failure or unhandled key rotation (full login outage), clock skew breaking nonce/ID-token validation, refresh reuse-detection lockout (user-facing "random" logouts), revocation call failure leaving live tokens after logout — a compliance issue, not just a bug, state mismatch after session expiry or multi-tab, redirect URI mismatch between environments, provider not registered with the Manager ("driver not supported") after a deploy, plaintext token material in logs or sessions.
  • Ramp-up: Low for a mid-level Laravel developer — a few days to a working login. The learning curve is OAuth/OIDC semantics (PKCE, nonce, JWKS, rotation), not this package. Plan roughly one sprint for production hardening, plus vendor lead time for app registration and official-application approval. Nominate a single owner for token lifecycle and logout semantics; that responsibility is the most common post-launch gap in integrations of this shape.
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.
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
noith/settings
kda/laravel-package
kda/filament-dynamic-navigation
bypersoft/signbox