jeffersongoncalves/laravel-oidc
Laravel OIDC integrates OpenID Connect authentication into Laravel applications. It helps configure providers, redirect users to sign in, validate ID tokens, and retrieve user profile data with a simple, framework-friendly setup.
OidcIdentity model, HasOidcIdentities trait, and publishable create_oidc_identities_table migration let a single user record map to one or more OIDC identities, uniquely keyed on issuer + subject. Product-wise this unlocks:
vendor:publish --tag="oidc-migrations") and the table name is configurable (oidc.identities_table), we can ship authentication first and defer identity persistence to a later milestone behind a feature flag. No forced schema migration on existing tenants.guzzlehttp/guzzle ^7.8 restores installability on Laravel 11 and 12. That directly serves a framework-upgrade OKR rather than leaving SSO pinned to an EOL Laravel version — a common cause of "we'll do SSO after the upgrade" slipping indefinitely.Good fit when:
.well-known/openid-configuration endpoint).Look elsewhere when:
Due diligence before adopting: confirm the maintainer's release cadence and issue responsiveness, pin the version, and write integration tests around the callback path so an upstream regression fails your CI rather than production login.
To executives: We have a recurring enterprise requirement to sign in with customers' existing corporate identity providers. This package gives us that capability as an adopted open-source component rather than a custom build, so we avoid spending engineering weeks on security-sensitive protocol code with no differentiation value — and we pay no per-user auth fees. The new release also removes a dependency conflict that was blocking our Laravel 11/12 upgrade, and adds optional identity linking so one user account can connect to multiple identity providers, which is what multi-tenant and post-merger customer scenarios actually require. Risk is a single-maintainer dependency with no commercial support; we mitigate with version pinning, automated login tests, and keeping password auth as a fallback. Ask: approve a timeboxed integration spike, with the opt-in migration deferred to a follow-up milestone.
To engineering: v1.3.0 relaxes the Guzzle constraint back to ^7.8, so the package installs cleanly on Laravel 11 and 12 — this unblocks the framework upgrade. It also adds an optional OidcIdentity model and HasOidcIdentities trait with a publishable create_oidc_identities_table migration, uniquely keyed on issuer + subject, and a configurable oidc.identities_table. Nothing is mandatory: no schema change until we publish and run the migration. Recommended sequence: adopt for login only, wrap the callback in feature-flagged tests, then evaluate identity linking as a second step. Treat the protocol layer as third-party and the provisioning/role-mapping layer as ours.
How can I help you explore Laravel packages today?