bambamboole/laravel-oidc-ui

Lattice-powered auth UI for the laravel-oidc identity provider

Maintainers

Package info

github.com/bambamboole/laravel-oidc-ui

Issues

pkg:composer/bambamboole/laravel-oidc-ui

Transparency log

Statistics

Installs: 0

Dependents: 0

Suggesters: 0

Stars: 0

dev-main / 0.6.x-dev 2026-07-21 20:10 UTC

This package is auto-updated.

Last update: 2026-07-21 20:14:32 UTC


README

A Lattice-powered authentication UI for bambamboole/laravel-oidc (the OIDC provider) — login, passkeys, TOTP, and recovery-code screens rendered as Lattice pages/components instead of Blade views, ready to drop into a Passport/Passkeys-backed app.

Installation

composer require bambamboole/laravel-oidc-ui

# Optional: publish the config, translations, and frontend stub components
php artisan vendor:publish --tag=oidc-ui-config
php artisan vendor:publish --tag=oidc-ui-lang
php artisan vendor:publish --tag=oidc-ui-js

The service provider is auto-discovered and merges the oidc-ui config and oidc-ui:: translation namespace automatically.

Frontend registration

The oidc-ui-js publish tag copies stub components into resources/js/vendor/oidc-ui. Register them in your app's Lattice component registry (resources/js/registry.ts) alongside your own:

import {
    createPlugin,
    extendRegistry,
    eagerComponent,
    registry as packageRegistry,
} from "@lattice-php/lattice";
import PasskeyVerify from "./vendor/oidc-ui/passkey-verify";
import PasskeyRegistration from "./vendor/oidc-ui/passkey-registration";

export const registry = extendRegistry(
    packageRegistry,
    createPlugin({
        components: {
            "oidc.passkey-verify": eagerComponent(PasskeyVerify),
            "oidc.passkey-registration": eagerComponent(PasskeyRegistration),
        },
        name: "oidc-ui",
    }),
);

Every screen this package renders is resolved through AuthViewManager — rebind any entry on that manager in your own service provider to override a single view without forking the package.

The verify-email page shows a log-out link only if the host app defines a logout route (name configurable via oidc-ui.logout_route, default logout); apps built on bambamboole/laravel-oidc-client already get a logout route from that package.

Development

bambamboole/laravel-oidc-server is not published on Packagist yet, so local installs need a path repository pointed at the sibling checkout — see composer.local-dev.md:

composer config repositories.server '{"type":"path","url":"../server","options":{"symlink":true,"versions":{"bambamboole/laravel-oidc-server":"0.6.0"}}}'
composer install
composer check   # pint --test, phpstan, pest
git checkout -- composer.json   # drop the local-only repositories entry before committing

License

MIT.