[PR #1946] [MERGED] feat: add organisation sso portal #1950

Closed
opened 2026-02-26 20:31:47 +03:00 by kerem · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/documenso/documenso/pull/1946
Author: @dguyen
Created: 8/7/2025
Status: Merged
Merged: 9/9/2025
Merged by: @Mythie

Base: mainHead: feat/organisation-sso


📝 Commits (6)

  • f1e0a87 feat: add organisation sso portal
  • 226bfa1 chore: add docs
  • 86fdea6 Merge branch 'main' into feat/organisation-sso
  • e59195d fix: hide sso portal
  • 4c21eee chore: remove logs
  • 8e87675 fix: add flag restrictions

📊 Changes

56 files changed (+2921 additions, -199 deletions)

View changed files

📝 apps/documentation/pages/users/organisations/_meta.json (+2 -1)
apps/documentation/pages/users/organisations/sso/_meta.json (+4 -0)
apps/documentation/pages/users/organisations/sso/index.mdx (+149 -0)
apps/documentation/pages/users/organisations/sso/microsoft-entra-id.mdx (+76 -0)
apps/documentation/public/organisations/organisations-sso-settings.webp (+0 -0)
📝 apps/remix/app/routes/_authenticated+/o.$orgUrl.settings._layout.tsx (+13 -0)
apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.sso.tsx (+432 -0)
📝 apps/remix/app/routes/_authenticated+/settings+/security._index.tsx (+21 -0)
apps/remix/app/routes/_authenticated+/settings+/security.linked-accounts.tsx (+179 -0)
apps/remix/app/routes/_unauthenticated+/o.$orgUrl.signin.tsx (+218 -0)
apps/remix/app/routes/_unauthenticated+/organisation.sso.confirmation.$token.tsx (+333 -0)
apps/remix/public/static/building-2.png (+0 -0)
📝 packages/auth/client/index.ts (+36 -0)
📝 packages/auth/server/index.ts (+2 -0)
packages/auth/server/lib/utils/delete-account-provider.ts (+37 -0)
packages/auth/server/lib/utils/get-accounts.ts (+32 -0)
📝 packages/auth/server/lib/utils/handle-oauth-callback-url.ts (+91 -62)
packages/auth/server/lib/utils/handle-oauth-organisation-callback-url.ts (+99 -0)
packages/auth/server/lib/utils/organisation-portal.ts (+94 -0)
packages/auth/server/routes/account.ts (+25 -0)

...and 36 more files

📄 Description

Description

Allow organisations to manage an SSO OIDC compliant portal. This method is intended to streamline the onboarding process and paves the way to allow organisations to manage their members in a more strict way.

Example:

  • Organisation owner configures portal
  • User signs in via the portal
  • They are automatically added to the organisation

Security
Since we are offloading authentication to an unknown provider, we use additional email confirmation to determine whether the user wants to link their account to the organisation.

Images

Organisation login form

image

Organisation SSO form

image

Email

Text changes based on Link or Create flows

image

🔄 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/documenso/documenso/pull/1946 **Author:** [@dguyen](https://github.com/dguyen) **Created:** 8/7/2025 **Status:** ✅ Merged **Merged:** 9/9/2025 **Merged by:** [@Mythie](https://github.com/Mythie) **Base:** `main` ← **Head:** `feat/organisation-sso` --- ### 📝 Commits (6) - [`f1e0a87`](https://github.com/documenso/documenso/commit/f1e0a870476d8789731ed7b606b00e8e484dbae1) feat: add organisation sso portal - [`226bfa1`](https://github.com/documenso/documenso/commit/226bfa1a6a6f684c12d3ea4a9b32e46014e6723d) chore: add docs - [`86fdea6`](https://github.com/documenso/documenso/commit/86fdea63b626561c639849e26c728b4e097bca1a) Merge branch 'main' into feat/organisation-sso - [`e59195d`](https://github.com/documenso/documenso/commit/e59195daea3036f3e8a704f3b68b707bccce4387) fix: hide sso portal - [`4c21eee`](https://github.com/documenso/documenso/commit/4c21eeee2ffe9a0989b059d11d28526e51674acd) chore: remove logs - [`8e87675`](https://github.com/documenso/documenso/commit/8e87675e7f4d16bc674838f46667e2e16918c687) fix: add flag restrictions ### 📊 Changes **56 files changed** (+2921 additions, -199 deletions) <details> <summary>View changed files</summary> 📝 `apps/documentation/pages/users/organisations/_meta.json` (+2 -1) ➕ `apps/documentation/pages/users/organisations/sso/_meta.json` (+4 -0) ➕ `apps/documentation/pages/users/organisations/sso/index.mdx` (+149 -0) ➕ `apps/documentation/pages/users/organisations/sso/microsoft-entra-id.mdx` (+76 -0) ➕ `apps/documentation/public/organisations/organisations-sso-settings.webp` (+0 -0) 📝 `apps/remix/app/routes/_authenticated+/o.$orgUrl.settings._layout.tsx` (+13 -0) ➕ `apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.sso.tsx` (+432 -0) 📝 `apps/remix/app/routes/_authenticated+/settings+/security._index.tsx` (+21 -0) ➕ `apps/remix/app/routes/_authenticated+/settings+/security.linked-accounts.tsx` (+179 -0) ➕ `apps/remix/app/routes/_unauthenticated+/o.$orgUrl.signin.tsx` (+218 -0) ➕ `apps/remix/app/routes/_unauthenticated+/organisation.sso.confirmation.$token.tsx` (+333 -0) ➕ `apps/remix/public/static/building-2.png` (+0 -0) 📝 `packages/auth/client/index.ts` (+36 -0) 📝 `packages/auth/server/index.ts` (+2 -0) ➕ `packages/auth/server/lib/utils/delete-account-provider.ts` (+37 -0) ➕ `packages/auth/server/lib/utils/get-accounts.ts` (+32 -0) 📝 `packages/auth/server/lib/utils/handle-oauth-callback-url.ts` (+91 -62) ➕ `packages/auth/server/lib/utils/handle-oauth-organisation-callback-url.ts` (+99 -0) ➕ `packages/auth/server/lib/utils/organisation-portal.ts` (+94 -0) ➕ `packages/auth/server/routes/account.ts` (+25 -0) _...and 36 more files_ </details> ### 📄 Description ## Description Allow organisations to manage an SSO OIDC compliant portal. This method is intended to streamline the onboarding process and paves the way to allow organisations to manage their members in a more strict way. **Example:** - Organisation owner configures portal - User signs in via the portal - They are automatically added to the organisation **Security** Since we are offloading authentication to an unknown provider, we use additional email confirmation to determine whether the user wants to link their account to the organisation. ## Images ### Organisation login form <img width="732" height="472" alt="image" src="https://github.com/user-attachments/assets/2899151e-6ffb-4918-b959-ab662c14002a" /> ### Organisation SSO form <img width="863" height="1007" alt="image" src="https://github.com/user-attachments/assets/9874a5b1-9edc-4d3b-8183-d63e703bc037" /> ### Email Text changes based on Link or Create flows <img width="898" height="672" alt="image" src="https://github.com/user-attachments/assets/8a047cd8-36b5-434a-9757-ec3fef32d64f" /> --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
kerem 2026-02-26 20:31:47 +03:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/documenso#1950
No description provided.