Router macro for adding SCIM 2.0 HTTP endpoints to Phoenix applications.
Provides a complete set of SCIM 2.0 compliant routes including Users, Groups, search, bulk operations, and discovery endpoints.
Usage
defmodule MyAppWeb.Router do
use Phoenix.Router
use ExScimPhoenix.Router
scope "/scim/v2" do
pipe_through [:api, :scim_auth]
scim_routes()
end
endCustom Controllers
Override default controllers by passing options:
use ExScimPhoenix.Router,
user_controller: MyApp.CustomUserController,
group_controller: MyApp.CustomGroupControllerFeature Toggles
Enable or disable route groups (all enabled by default):
use ExScimPhoenix.Router,
users: true, # /Users endpoints
groups: true, # /Groups endpoints
me: true, # /Me endpoints
bulk: true, # /Bulk endpoint
search: true # /.search endpointNote: Discovery routes (/ServiceProviderConfig, /ResourceTypes, /Schemas)
are always included. Resource-specific search routes (/Users/.search,
/Groups/.search) follow their respective resource toggles.
Available Routes
GET /Users- List usersPOST /Users- Create userGET /Users/:id- Get userPUT /Users/:id- Replace userPATCH /Users/:id- Update userDELETE /Users/:id- Delete user- Similar routes for
/Groupsand/Me GET /ServiceProviderConfig- Server capabilitiesGET /ResourceTypes- Available resource typesGET /Schemas- Resource schemasPOST /.search- Cross-resource searchPOST /Bulk- Bulk operations