[PR #1182] [MERGED] feat: add SCIM provisioning #1082

Closed
opened 2026-02-05 18:51:37 +03:00 by OVERLORD · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/pocket-id/pocket-id/pull/1182
Author: @stonith404
Created: 12/31/2025
Status: Merged
Merged: 1/2/2026
Merged by: @stonith404

Base: mainHead: feat/scim-provisioning


📝 Commits (9)

📊 Changes

37 files changed (+1963 additions, -34 deletions)

View changed files

📝 .github/workflows/e2e-tests.yml (+21 -1)
📝 backend/internal/bootstrap/router_bootstrap.go (+1 -0)
📝 backend/internal/bootstrap/services_bootstrap.go (+23 -16)
📝 backend/internal/controller/oidc_controller.go (+28 -0)
backend/internal/controller/scim_controller.go (+122 -0)
backend/internal/dto/scim_dto.go (+96 -0)
backend/internal/model/scim.go (+14 -0)
backend/internal/model/types/encrypted_string.go (+91 -0)
📝 backend/internal/model/user.go (+9 -0)
📝 backend/internal/model/user_group.go (+14 -0)
📝 backend/internal/service/e2etest_service.go (+25 -0)
📝 backend/internal/service/oidc_service.go (+18 -5)
backend/internal/service/scim_scheduler_service.go (+136 -0)
backend/internal/service/scim_service.go (+774 -0)
📝 backend/internal/service/user_group_service.go (+5 -0)
📝 backend/internal/service/user_service.go (+12 -0)
backend/internal/utils/sleep_util.go (+21 -0)
backend/resources/migrations/postgres/20251229173100_scim_service_providers.down.sql (+3 -0)
backend/resources/migrations/postgres/20251229173100_scim_service_providers.up.sql (+15 -0)
backend/resources/migrations/sqlite/20251229173100_scim_service_providers.down.sql (+9 -0)

...and 17 more files

📄 Description

This PR adds support for SCIM provisioning. The implementation has been tested with:

The preview docs are available here: https://preview.pocket-id-website.pages.dev/docs/configuration/scim

Closes #664


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/pocket-id/pocket-id/pull/1182 **Author:** [@stonith404](https://github.com/stonith404) **Created:** 12/31/2025 **Status:** ✅ Merged **Merged:** 1/2/2026 **Merged by:** [@stonith404](https://github.com/stonith404) **Base:** `main` ← **Head:** `feat/scim-provisioning` --- ### 📝 Commits (9) - [`4bf882d`](https://github.com/pocket-id/pocket-id/commit/4bf882d77761b4a453e0a7f639684713cd778beb) feat: add SCIM provisioning - [`93ca583`](https://github.com/pocket-id/pocket-id/commit/93ca5835d94cda7a539dc21a1916e9598bed3737) fix linter issues - [`9383c6c`](https://github.com/pocket-id/pocket-id/commit/9383c6c72cbef15dc7422a4b7ff3b4e2acdc9622) review feedback - [`03d95d4`](https://github.com/pocket-id/pocket-id/commit/03d95d4c3e4bdc5585f80692263ca5712f38ca0d) fix e2e tests - [`f4b4d29`](https://github.com/pocket-id/pocket-id/commit/f4b4d29799f0c3281ce1f29e4acef0183e4a66d1) encrypt scim token - [`73283af`](https://github.com/pocket-id/pocket-id/commit/73283af97a394e8a77926f1a7cef99fcc469be04) pr feedback - [`48e25a2`](https://github.com/pocket-id/pocket-id/commit/48e25a2dcb748c1c054aedd838c108535574697a) use derived encryption key - [`223b095`](https://github.com/pocket-id/pocket-id/commit/223b095741bda1afc65825729f28ae836db65da2) fix e2e tests - [`255e7ae`](https://github.com/pocket-id/pocket-id/commit/255e7aee9c6cd65c274b7d576aa5906c983a5cdc) Merge branch 'main' into feat/scim-provisioning ### 📊 Changes **37 files changed** (+1963 additions, -34 deletions) <details> <summary>View changed files</summary> 📝 `.github/workflows/e2e-tests.yml` (+21 -1) 📝 `backend/internal/bootstrap/router_bootstrap.go` (+1 -0) 📝 `backend/internal/bootstrap/services_bootstrap.go` (+23 -16) 📝 `backend/internal/controller/oidc_controller.go` (+28 -0) ➕ `backend/internal/controller/scim_controller.go` (+122 -0) ➕ `backend/internal/dto/scim_dto.go` (+96 -0) ➕ `backend/internal/model/scim.go` (+14 -0) ➕ `backend/internal/model/types/encrypted_string.go` (+91 -0) 📝 `backend/internal/model/user.go` (+9 -0) 📝 `backend/internal/model/user_group.go` (+14 -0) 📝 `backend/internal/service/e2etest_service.go` (+25 -0) 📝 `backend/internal/service/oidc_service.go` (+18 -5) ➕ `backend/internal/service/scim_scheduler_service.go` (+136 -0) ➕ `backend/internal/service/scim_service.go` (+774 -0) 📝 `backend/internal/service/user_group_service.go` (+5 -0) 📝 `backend/internal/service/user_service.go` (+12 -0) ➕ `backend/internal/utils/sleep_util.go` (+21 -0) ➕ `backend/resources/migrations/postgres/20251229173100_scim_service_providers.down.sql` (+3 -0) ➕ `backend/resources/migrations/postgres/20251229173100_scim_service_providers.up.sql` (+15 -0) ➕ `backend/resources/migrations/sqlite/20251229173100_scim_service_providers.down.sql` (+9 -0) _...and 17 more files_ </details> ### 📄 Description This PR adds support for SCIM provisioning. The implementation has been tested with: - Cloudflare Zero Trust - [SCIM Gateway](https://github.com/jelhub/scimgateway) - [scim2-server](https://github.com/python-scim/scim2-server) The preview docs are available here: https://preview.pocket-id-website.pages.dev/docs/configuration/scim Closes #664 --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
OVERLORD added the pull-request label 2026-02-05 18:51:37 +03:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/pocket-id-pocket-id#1082