Download the PHP package padosoft/laravel-iam-server without Composer

On this page you can find all versions of the php package padosoft/laravel-iam-server. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package laravel-iam-server

Laravel IAM β€” Server

A self-hostable Identity & Authorization control plane for Laravel.
An OAuth2 / OIDC identity provider, a RBAC + ABAC + ReBAC policy decision point, tamper-evident audit, IGA governance and an admin panel β€” in one composer package you own.

Tests Latest Version on Packagist Total Downloads PHP Version

πŸ“– Read the documentation β†’
Guides Β· concepts Β· architecture Β· Admin API & PHP reference


Why this package

Most teams end up with authorization scattered across every app: a spatie/permission table here, a pile of Gate::define() closures there, hand-rolled OAuth somewhere else, and no idea who can do what or who decided it. Renting an IdP (Auth0, Okta, Entra) fixes login but leaves authorization β€” and your audit trail β€” off in someone else's cloud, metered per MAU.

laravel-iam-server is the control plane you host yourself. It is at once:

Apps stop owning authorization logic. They declare their permissions/roles/scopes in a manifest, and ask the PDP. You get one place to see and prove every access decision.

Features

Use cases

Web Admin Panel

A React + Vite + Tailwind console, driven only through the Admin API.

Dashboard β€” posture at a glance.

Applications & manifests Audit trail
Roles & permissions Access reviews
Policy playground Anomalies

The full set of screens (users, sessions & tokens, organizations, events & webhooks, settings…) lives in art/screenshots/.

Installation

Requirements: PHP 8.3+, Laravel 13. A database (MySQL/PostgreSQL/SQLite).

Publish config and run migrations:

The service provider auto-registers the Admin API, OAuth and OIDC routes, and the iam.can / iam.admin_auth / iam.idempotency middleware.

Quick start

1. Register an application and its manifest

Each consuming app declares what it needs. A manifest lists permissions/roles (slugs are immutable app_key:permission):

Submit it through the Admin API (POST /manifests), then approve and apply it β€” the registry validates and diffs before anything changes.

2. Ask the PDP

The decision point is the only authority on allow/deny. Build a DecisionQuery and call the engine:

3. Or over HTTP

In your consuming apps you normally don't call the PDP directly β€” you install padosoft/laravel-iam-client and protect routes with its iam.can middleware / Gate adapter, which caches decisions and verifies JWTs.

Ecosystem

Package Role
laravel-iam-contracts Shared interfaces & DTOs β€” the dependency root
laravel-iam-server (this repo) The control plane: identity, PDP, OAuth/OIDC, audit, governance, Admin API & panel
laravel-iam-client PHP/Laravel client: OIDC login, JWT/JWKS, iam.can middleware, Gate adapter β€” 3 auth modes (static token Β· self-managed client_credentials + self-fetch Β· private_key_jwt)
laravel-iam-node Node/TypeScript SDK: decision checks + token verify; same 3 auth modes
laravel-iam-rust Rust SDK (async + blocking): decision checks + token verify; same 3 auth modes
laravel-iam-react-native React Native client + hooks (public client: PKCE, no shared secret)
laravel-iam-ai Optional AI module: advisory-only governance (redaction + hallucination guard + audit)
laravel-iam-directory Optional directory module: LDAP / Active Directory; SCIM in v2
laravel-iam-bridge-spatie-permission Migration bridge from spatie/laravel-permission: scan, shadow mode, decision diffing, cutover

Documentation

πŸ“– Full documentation: doc.laravel-iam-server.padosoft.com β€” a searchable docmd site with 38+ pages: quickstart, concepts (RBAC/ABAC/ReBAC, deny-overrides, fail-closed, AAL, tamper-evident audit, multi-tenancy), architecture & ADRs, best practices, operations, and a complete Admin API and PHP API reference.

The full HTTP contract is in resources/openapi.yaml.

Security

Laravel IAM is fail-closed by design: default-deny, deny-overrides, and any error resolves to deny. Every mutation is hash-chained and verifiable (audit/verify-chain); cross-tenant access returns 404, not 403; secrets use envelope encryption and PII is crypto-shreddable. OAuth is league/oauth2-server and the OIDC layer is MIT (never AGPL). Please report security issues to [email protected] rather than opening a public issue.

License

MIT Β© Padosoft. See LICENSE.


All versions of laravel-iam-server with dependencies

PHP Build Version
Package Version
Requires php Version ^8.3
padosoft/laravel-iam-contracts Version ^1.0
spatie/laravel-package-tools Version ^1.16
lcobucci/jwt Version ^5.0
league/oauth2-server Version ^9.0
symfony/psr-http-message-bridge Version ^7.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package padosoft/laravel-iam-server contains the following files

Loading the files please wait ...