tacticmedia / scim-server-bundle
Symfony bundle for the tacticmedia/scim-server SCIM 2.0 server library.
Package info
github.com/tacticmedia/scim-server-bundle
Type:symfony-bundle
pkg:composer/tacticmedia/scim-server-bundle
Requires
- php: >=8.5
- psr/clock: ^1.0
- symfony/config: ^8.1.11
- symfony/console: ^8.1
- symfony/dependency-injection: ^8.1
- symfony/http-foundation: ^8.1.11
- symfony/http-kernel: ^8.1.11
- symfony/password-hasher: ^8.1
- symfony/property-access: ^8.1
- symfony/property-info: ^8.1
- symfony/rate-limiter: ^8.1
- symfony/routing: ^8.1.11
- symfony/security-core: ^8.1
- symfony/security-http: ^8.1.11
- symfony/uid: ^8.1
- tacticmedia/scim-server: ^0.1
Requires (Dev)
None
Suggests
- doctrine/doctrine-bundle: To store resources with Doctrine ORM.
- doctrine/orm: To store resources with Doctrine ORM.
- symfony/validator: To validate objects before a write, with #[ScimResource(validationGroups: [...])].
Provides
None
Conflicts
- doctrine/doctrine-bundle: <3.3
- doctrine/orm: <3.7
Replaces
None
README
Symfony bundle for tacticmedia/scim-server, a SCIM 2.0 server library. It makes your Symfony application a SCIM service provider for Microsoft Entra ID, Okta and other identity providers.
- Map Doctrine entities or other classes with
#[ScimResource]and#[ScimAttribute]. - With Doctrine ORM, filters, sorting and paging run in the database through DQL.
- One route, a static token handler for the firewall, SCIM error bodies.
- Custom stores, raw repositories, repository decorators and events.
bin/console debug:scimshows and checks the mappings.
Installation
Requirements: PHP 8.5 or later, Symfony 8.1 or a later 8.x version.
composer require tacticmedia/scim-server-bundle symfony/security-bundle
With Symfony Flex, this command also registers the bundle. Without Flex, add the bundle to config/bundles.php:
return [ // ... TacticMedia\ScimServerBundle\TacticMediaScimServerBundle::class => ['all' => true], ];
Then set the access tokens, import the route file, add the firewall and map your classes. The documentation gives each step. Identity providers tells what Microsoft Entra ID, Okta and other identity providers send, and what to map. The documentation site also has the setup steps for Entra ID and Okta.
Coding agents
With Symfony AI Mate, mate discover installs the skill
mate-scim-integration and the agent instructions of the bundle. Without Mate, tell the agent: "Integrate
tacticmedia/scim-server-bundle. Follow vendor/tacticmedia/scim-server-bundle/skills/scim-integration/SKILL.md."
Contributing
This repository is a read-only split of the tacticmedia/scim monorepo,
directory scim-server-bundle/. Send issues and pull requests to the monorepo.
License
MIT. See LICENSE.