- What is zizaco/confide used for in Laravel?
- Confide is a Laravel 4 authentication package that provides ready-made user registration, login, logout, password resets, email confirmation, and optional role and permission support through Entrust. It was designed to add complete auth scaffolding to Laravel 4 applications. For modern Laravel, use native auth with Fortify, Breeze, or Jetstream instead.
- Is Confide compatible with Laravel 5, Laravel 8, or modern Laravel versions?
- No. Confide is tightly coupled to Laravel 4 conventions and depends on end-of-life framework and PHP runtimes. It will likely conflict with supported Illuminate versions and should not be introduced into Laravel 5+ or modern PHP projects. Verify Composer constraints before any work.
- How do I install Confide in a Laravel 4 application?
- Installation was via Composer for Laravel 4 projects, followed by publishing migrations, config, controllers, routes, and views. You would run migrations and configure the user model with Confide traits. For new builds, do not install Confide; choose supported Laravel auth instead.
- Does Confide support roles and permissions?
- Yes. Confide provides role and permission support via the companion Entrust package, which is also a legacy Zizaco package. This integration lets you assign roles and permissions to users. Modern Laravel applications should use native authorization features like Gates and Policies instead.
- Is Confide maintained or safe for production use?
- No, Confide is unmaintained and last released in 2015. It depends on an end-of-life Laravel 4 framework and PHP runtime, creating security, audit, and compliance exposure for authentication flows. Treat it as a migration or retirement candidate, not a strategic dependency.
- How do I migrate from Confide to Laravel native authentication?
- Treat Confide as a transitional auth layer. Inventory user tables, routes, controllers, traits, views, and mail templates; wrap auth behind an internal adapter; add regression tests; migrate users and password hashes with rehash-on-login; run parallel auth; then cut over and remove Confide. Use Laravel native auth with Fortify, Breeze, or Jetstream as the target.
- What Laravel version and PHP version does Confide require?
- Confide requires Laravel 4 and its associated PHP 5.x runtime. It is not compatible with supported Laravel versions or modern PHP runtimes. Composer constraints will likely block installation in current applications.
- Can I use Confide for API authentication, SSO, or MFA?
- No. Confide is not designed for stateless APIs, distributed sessions, MFA, or SSO. It is a session-based auth solution for legacy Laravel 4 monoliths. For APIs use Sanctum or Passport; for SSO and MFA use an external identity provider.
- How do I handle password resets and email confirmation with Confide?
- Confide includes bundled controllers, routes, views, and mail templates for password resets and email confirmation. Operational concerns include broken reset or confirmation email delivery, expired or reused tokens, and session handling. Validate token expiry, password hashing, and mailer compatibility against current security policy.
- What are alternatives to Confide for Laravel authentication?
- For modern Laravel, alternatives include native auth with Fortify, Breeze, or Jetstream; Sanctum or Passport for API tokens; Socialite for social login; and an external IdP for SSO and MFA. If you maintain a legacy Laravel 4 app, contain Confide behind an adapter and plan migration rather than adopting a new alternative in the legacy stack.