laravel-oidc-ui maintained by bambamboole
laravel-oidc-ui
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.