Download the PHP package arietimmerman/laravel-scim-server without Composer

On this page you can find all versions of the php package arietimmerman/laravel-scim-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-scim-server

Latest Stable Version Total Downloads

SCIM 2.0 Server implementation for Laravel

Add SCIM 2.0 Server capabilities to your Laravel application with ease. This package requires minimal configuration to get started with the core SCIM flows and is powering The SCIM Playground, one of the most widely tested SCIM servers available.

Why Laravel SCIM Server?

Table of contents

Quick start

Spin up a SCIM test server in seconds:

Visit http://localhost:8000/scim/v2/Users (or /Groups, /Schemas, /ResourceTypes, etc.) to exercise the API.

Installation

Add the package to your Laravel app:

Optionally publish the config for fine-grained control:

If you need to add SCIM-specific columns (formatted, active, roles) to your users table, publish the migrations:

Note: These migrations are optional. Only publish them if your SCIM implementation requires these specific fields in your users table.

SCIM routes

Method Path Description
GET /scim/v1 SCIM 1.x compatibility message (returns error with upgrade guidance)
GET /scim/v2 Cross-resource index (alias of /scim/v2/)
GET /scim/v2/ Cross-resource index
POST /scim/v2/.search Cross-resource search across all types
POST /scim/v2/Bulk SCIM bulk operations
GET /scim/v2/ResourceTypes List available resource types
GET /scim/v2/ResourceTypes/{id} Retrieve a specific resource type
GET /scim/v2/Schemas List SCIM schemas
GET /scim/v2/Schemas/{id} Retrieve a specific schema
GET /scim/v2/ServiceProviderConfig Discover server capabilities
GET /scim/v2/{resourceType} List resources of a given type
POST /scim/v2/{resourceType} Create a new resource
POST /scim/v2/{resourceType}/.search Filter resources of a given type
GET /scim/v2/{resourceType}/{resourceObject} Retrieve a single resource
PUT /scim/v2/{resourceType}/{resourceObject} Replace a resource
PATCH /scim/v2/{resourceType}/{resourceObject} Update a resource
DELETE /scim/v2/{resourceType}/{resourceObject} Delete a resource

Optional "Me" routes can be enabled separately:

Method Path Description
GET /scim/v2/Me Retrieve the SCIM resource for the authenticated subject
PUT /scim/v2/Me Replace the SCIM resource for the authenticated subject
POST /scim/v2/Me Create the authenticated subject (requires RouteProvider::meRoutePost())

Configuration

The SCIM server can be customized using configuration options in config/scim.php:

You can override these in your .env file:

Or pass as Docker environment variables:

If you need more control, you can disable route auto-publishing and register the routes manually:

Resource Configuration

The package resolves configuration via SCIMConfig::class. Extend it to tweak resource definitions, attribute mappings, filters, or pagination defaults.

Register your custom config in app/Providers/AppServiceProvider.php:

Minimal override example:

Pagination settings

Cursor-based pagination is enabled by default via the SCIM cursor pagination draft. Publish the config file and update config/scim.php to adjust defaults:

Security & app integration

SCIM grants the ability to view, add, update, and delete users or groups. Make sure you secure the routes before shipping to production.

You have two approaches to securing your SCIM endpoints:

Option 1: Configure middleware via config

The simplest approach is to set middleware in your config:

Or via environment variables:

Option 2: Manual route registration

For more control, disable automatic route publishing:

Then re-register the routes with your preferred middleware and configuration:

Test server

Bring up the full demo stack with Docker Compose:

Browse to http://localhost:18123/scim/v2/Users to explore the API and run the test suite.

Contributing & support


All versions of laravel-scim-server with dependencies

PHP Build Version
Package Version
Requires php Version ^8.1
illuminate/database Version ^10.0|^11.0|^12.0|^13.0
illuminate/support Version ^10.0|^11.0|^12.0|^13.0
illuminate/console Version ^10.0|^11.0|^12.0|^13.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 arietimmerman/laravel-scim-server contains the following files

Loading the files please wait ...