bambamboole / laravel-oidc-ui
Lattice-powered auth UI for the laravel-oidc identity provider
Requires
- php: ^8.4
- bambamboole/laravel-oidc-server: ^0.6
- laravel/passkeys: ^0.2
- laravel/passport: ^13.4
- lattice-php/lattice: ^0.24
Requires (Dev)
- larastan/larastan: ^3.0
- laravel/pint: ^1.16
- mockery/mockery: ^1.6
- mrpunyapal/peststan: ^0.2.10
- orchestra/testbench: ^10.0 || ^11.0
- pestphp/pest: ^4.0
- pestphp/pest-plugin-laravel: ^4.0
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.