fp/lightopenid
Deprecated: composer-enabled mirror of the official LightOpenID library from gitorious. Originally used with FpOpenIdBundle for easier setup. Switch to the official Packagist package lightopenid/lightopenid instead.
socialiteproviders or league/oauth2-server).FpOpenIdBundle), not Laravel’s service container or middleware patterns. This requires significant abstraction work to adapt to Laravel’s architecture.composer.json enforces PHP 8.x, making direct integration impossible without polyfills or Dockerized legacy environments.AuthenticatesUsers) rely on middleware, while this library is procedure-based. Requires rewriting core logic to fit Laravel’s Illuminate\Contracts\Auth\Authenticatable or custom guards.users table schema would need alignment with OpenID claims (e.g., openid, email_verified).HttpClient or Laravel’s Http facade).socialiteproviders) is the modern alternative.openid_identifier) map to Laravel’s users table? Custom migrations or a separate openid_users table?Auth::login() expects a User model; this library returns raw OpenID responses.FpOpenIdBundle via Symfony’s HttpKernel (complex, overkill).Process facade (high latency).socialiteproviders/openid for OpenID Connect or league/oauth2-openid for modern protocols.https://example.edu/openid). Verify they support OpenID 2.0 (most modern providers use OAuth 2.0/OpenID Connect).socialiteproviders.OpenIdGuard extending Illuminate\Auth\GuardHelpers.validateCredentials() to call the legacy library via a service wrapper.AuthServiceProvider:
protected function registerOpenIdGuard()
{
$this->app['auth']->extend('openid', function ($app) {
return new OpenIdGuard($app['request'], $this->app['fp.lightopenid']);
});
}
/openid routes and delegate to the legacy library.Route::get('/openid/login', function () {
$openid = new LightOpenID('https://example.com/return');
if ($openid->mode == 'id_res') {
// Handle auth success
} else {
$openid->authenticate('https://example.edu/openid', '/openid/login');
}
});
php:5.6-apache).illuminate/support (e.g., Str::slug() differences in PHP 5.x).replace constraints.Auth::attempt() or session-based auth.throttle middleware).session_start().Monolog with a PHP 5.x-compatible handler (e.g., monolog/monolog:1.x).error_log() or a separate PHP 5.x debug container.database or redis session drivers to avoid PHP 5.x session file locks.How can I help you explore Laravel packages today?