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.
Architecture fit
OidcIdentity model, HasOidcIdentities trait, and a publishable create_oidc_identities_table migration. This is an architectural step change — the package now models the (issuer, subject) → authenticatable relationship. That is the correct primitive for multi-provider SSO, account linking, and audit trails, and the fact that it is opt-in and publishable means existing consumers are not forced into the new model.oidc.identities_table) is a small but meaningful signal of maturity: it accommodates multi-tenant/multi-connection deployments without forking the migration.Integration feasibility
Authenticatable model, publish and run the migration, configure the table name if non-default.User model, and (c) accept that identities are populated lazily on next login — there is no backfill path in this release.guzzlehttp/guzzle ^7.8 unblocks Laravel 11/12 installs. This implies the prior constraint was over-tight and had been silently excluding a large share of the addressable user base.Technical risk
(issuer, subject) is the main schema risk. Issuer URLs and OIDC sub values are both variable-length strings; on MySQL/MariaDB with utf8mb4, a naive string (255) pair can exceed index byte limits on older row formats, causing the migration to fail on some targets. Verify column lengths and index strategy before shipping to a legacy DB fleet.upsert path.id_token signature verification, JWKS caching) — that is out of scope for this release but remains an unresolved evaluation area.Key questions
cascadeOnDelete? What happens to identities when a user is deleted or soft-deleted?issuer and subject, and has the migration been validated on MySQL 5.7 / MariaDB 10.x?identity → user) unique enforced at the DB level?Stack fit
User authenticatable. Applications with non-Eloquent or multi-guard setups (separate admin/customer providers) should confirm the trait is provider-agnostic before committing.Migration path
jeffersongoncalves/laravel-oidc to ^1.3.composer update and resolve the Guzzle lockfile — expect potential contention with packages still pinning older Guzzle 7 minors.vendor:publish --tag="oidc-migrations", review the generated schema, then migrate.HasOidcIdentities to the Authenticatable model; publish/adjust config/oidc.php if using a non-default table name.Compatibility
Sequencing
Maintenance
issuer + subject are stable personal identifiers under GDPR-style regimes — classify accordingly and include the table in data-subject deletion procedures.oidc.identities_table in configuration management rather than leaving it implicit.Support
Scaling
users table — plan a maintenance window or an online-schema-change tool.Failure modes
subject reuse is attempted.Ramp-up
How can I help you explore Laravel packages today?