[PR #7829] feat(sso): add getMemberData hook for customizing member creation #7577

Open
opened 2026-03-13 13:42:04 -05:00 by GiteaMirror · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/better-auth/better-auth/pull/7829
Author: @lkhari
Created: 2/6/2026
Status: 🔄 Open

Base: canaryHead: feat/sso-getMemberData


📝 Commits (7)

  • 00dd9d0 feat(sso): add getMemberData hook for customizing member creation
  • b85d0b9 .
  • 4e43bd3 .
  • 068348a Fixed Lint issues
  • 438c18d Merge branch 'canary' into feat/sso-getMemberData
  • 9f9c83d Merge branch 'canary' into feat/sso-getMemberData
  • 8949c15 Merge branch 'canary' into feat/sso-getMemberData

📊 Changes

4 files changed (+287 additions, -18 deletions)

View changed files

📝 packages/sso/src/index.ts (+8 -2)
📝 packages/sso/src/linking/org-assignment.test.ts (+118 -1)
📝 packages/sso/src/linking/org-assignment.ts (+98 -15)
📝 packages/sso/src/types.ts (+63 -0)

📄 Description

Add getMemberData callback to organizationProvisioning options in the SSO plugin. This allows users to customize member data during auto- provisioning, enabling population of required additionalFields from SSO provider claims.

Closes #7828


Summary by cubic

Adds a getMemberData hook to SSO organization provisioning so apps can customize member creation during auto-provisioning. Lets you map SSO claims to additionalFields and respects defaultRole; works for both provider and domain flows. Addresses #7828.

  • New Features
    • Added organizationProvisioning.getMemberData({ user, userInfo, token, provider, organization, defaultData }) to extend member fields; falls back to defaultData when undefined.
    • Safe merge prevents overriding organizationId and userId while allowing custom fields.
    • Applied in both assignOrganizationFromProvider (passes rawAttributes) and assignOrganizationByDomain (passes basic userInfo).
    • Exported Organization type in the public API; tests cover custom fields, default fallback, defaultRole, and hook call arguments.

Written for commit 8949c157d3. Summary will update on new commits.


🔄 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/better-auth/better-auth/pull/7829 **Author:** [@lkhari](https://github.com/lkhari) **Created:** 2/6/2026 **Status:** 🔄 Open **Base:** `canary` ← **Head:** `feat/sso-getMemberData` --- ### 📝 Commits (7) - [`00dd9d0`](https://github.com/better-auth/better-auth/commit/00dd9d0f467e2a6f691c4ae55d87b8562e15a15f) feat(sso): add getMemberData hook for customizing member creation - [`b85d0b9`](https://github.com/better-auth/better-auth/commit/b85d0b96b48f01df1836f6ec9cdf2e71aa81bdcc) . - [`4e43bd3`](https://github.com/better-auth/better-auth/commit/4e43bd3c291e6f6ce21f7fc2676dbde44c6910ba) . - [`068348a`](https://github.com/better-auth/better-auth/commit/068348a5e0193c8df77586f1f396b2eb16298492) Fixed Lint issues - [`438c18d`](https://github.com/better-auth/better-auth/commit/438c18d06b40da67abf26395c380fad969e0f96e) Merge branch 'canary' into feat/sso-getMemberData - [`9f9c83d`](https://github.com/better-auth/better-auth/commit/9f9c83d4e53b4feac9fbc6d0fdf9351b63d9094e) Merge branch 'canary' into feat/sso-getMemberData - [`8949c15`](https://github.com/better-auth/better-auth/commit/8949c157d3a41cfd66a3613fe67a601551670233) Merge branch 'canary' into feat/sso-getMemberData ### 📊 Changes **4 files changed** (+287 additions, -18 deletions) <details> <summary>View changed files</summary> 📝 `packages/sso/src/index.ts` (+8 -2) 📝 `packages/sso/src/linking/org-assignment.test.ts` (+118 -1) 📝 `packages/sso/src/linking/org-assignment.ts` (+98 -15) 📝 `packages/sso/src/types.ts` (+63 -0) </details> ### 📄 Description Add getMemberData callback to organizationProvisioning options in the SSO plugin. This allows users to customize member data during auto- provisioning, enabling population of required additionalFields from SSO provider claims. Closes #7828 <!-- This is an auto-generated description by cubic. --> --- ## Summary by cubic Adds a getMemberData hook to SSO organization provisioning so apps can customize member creation during auto-provisioning. Lets you map SSO claims to additionalFields and respects defaultRole; works for both provider and domain flows. Addresses #7828. - **New Features** - Added organizationProvisioning.getMemberData({ user, userInfo, token, provider, organization, defaultData }) to extend member fields; falls back to defaultData when undefined. - Safe merge prevents overriding organizationId and userId while allowing custom fields. - Applied in both assignOrganizationFromProvider (passes rawAttributes) and assignOrganizationByDomain (passes basic userInfo). - Exported Organization type in the public API; tests cover custom fields, default fallback, defaultRole, and hook call arguments. <sup>Written for commit 8949c157d3a41cfd66a3613fe67a601551670233. Summary will update on new commits.</sup> <!-- End of auto-generated description by cubic. --> --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
GiteaMirror added the pull-request label 2026-03-13 13:42:05 -05:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/better-auth#7577