Search by

dskripchenko / laravel-admin-oidc

dskripchenko

Sign in to dskripchenko/laravel-admin panels with OpenID Connect β€” Keycloak, Microsoft Entra ID, ADFS, Authentik or any OIDC provider: account provisioning, role mapping, per-tenant providers.

Package info

github.com/dskripchenko/laravel-admin-oidc

pkg:composer/dskripchenko/laravel-admin-oidc

Statistics

Installs: 31

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

v0.2.0 2026-10-14 12:18 UTC

README

🌐 English Β· Русский Β· Deutsch Β· δΈ­ζ–‡

Sign in to dskripchenko/laravel-admin panels with OpenID Connect β€” Keycloak, Microsoft Entra ID, ADFS, Authentik, Okta or any OIDC provider. Plain OIDC, no provider-specific code: the differences between providers are settings.

  • "Sign in with …" on the login page, under the password form, which stays.
  • Accounts created on the first sign-in; an existing account with the same email is taken over only when the provider verified the email.
  • Roles from the provider: claim values (realm_access.roles, groups, …) mapped to panel roles, replaced at every sign-in. No mapped role β€” no way in.
  • Several panels, per-tenant providers: the panel's own provider, or a tenant's behind a link of its own (/{panel}/sso/to/{tenant}), through three small contracts the host implements.
  • Checked the way OIDC Core asks: Authorization Code + PKCE (S256), state and nonce, the ID token verified against the provider's JWKS (asymmetric algorithms only, key rotation followed), issuer, audience, expiry. Requests to the provider go through an address policy (https, private networks refused unless whitelisted).
  • Optional MFA requirement from the provider's amr claim.

CI Packagist License: MIT

Install

composer require dskripchenko/laravel-admin-oidc
php artisan migrate

Requires laravel-admin 1.50+. The plugin registers itself through package discovery; the providers are managed in the panel, System β†’ SSO providers. To publish the config:

php artisan vendor:publish --tag=admin-oidc-config

Documentation

  • Getting started β€” install, a provider, Keycloak step by step, role mapping
  • Tenants and contracts β€” per-tenant providers, custom user provisioning and role catalogs
  • Security β€” what is checked, the network policy, MFA

Security

Report vulnerabilities privately β€” see SECURITY.md.

License

MIT β€” see LICENSE. The ID tokens are verified with firebase/php-jwt (BSD-3-Clause).