[PR #5638] [CLOSED] feat: OAuth additional data #31732

Closed
opened 2026-04-17 22:37:10 -05:00 by GiteaMirror · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/better-auth/better-auth/pull/5638
Author: @ping-maxwell
Created: 10/28/2025
Status: Closed

Base: canaryHead: feat/oauth-additional-state-v2


📝 Commits (5)

  • ebf13aa feat: OAuth additional data
  • 81f8080 Merge branch 'canary' into feat/oauth-additional-state-v2
  • 45f7173 Merge branch 'canary' into feat/oauth-additional-state-v2
  • 4716096 Merge branch 'canary' into feat/oauth-additional-state-v2
  • 6af7b9a Merge branch 'canary' into feat/oauth-additional-state-v2

📊 Changes

9 files changed (+203 additions, -68 deletions)

View changed files

📝 packages/better-auth/src/api/routes/account.ts (+12 -4)
📝 packages/better-auth/src/api/routes/callback.ts (+27 -1)
📝 packages/better-auth/src/api/routes/sign-in.ts (+8 -1)
📝 packages/better-auth/src/init.ts (+5 -0)
📝 packages/better-auth/src/oauth2/link-account.ts (+36 -35)
📝 packages/better-auth/src/oauth2/state.ts (+52 -6)
📝 packages/better-auth/src/plugins/generic-oauth/index.ts (+15 -1)
📝 packages/core/src/types/context.ts (+9 -0)
📝 packages/core/src/types/init-options.ts (+39 -20)

📄 Description

Summary by cubic

Adds support for passing validated additional data through OAuth sign-in and account linking, and applies it to user creation/updates. This enables clients to persist extra fields (e.g., locale, consent) across redirects.

  • New Features

    • Accepts data in sign-inSocial, linkSocialAccount, and generic OAuth authorize requests; persisted via OAuth state.
    • Validates with advanced.oauthConfig.additionalData.schema (Standard Schema). Invalid input redirects with invalid_additional_data.
    • Exposes validated data as c.context.oauthState and merges it into updateUser/createOAuthUser.
    • New config: advanced.oauthConfig.additionalData { enabled, schema } and types support.
  • Migration

    • Enable advanced.oauthConfig.additionalData.enabled and optionally provide a StandardSchemaV1 schema.
    • Send data from the client under data in sign-in/link requests; ensure it matches your schema.

Written for commit 6af7b9aede. Summary will update automatically 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/5638 **Author:** [@ping-maxwell](https://github.com/ping-maxwell) **Created:** 10/28/2025 **Status:** ❌ Closed **Base:** `canary` ← **Head:** `feat/oauth-additional-state-v2` --- ### 📝 Commits (5) - [`ebf13aa`](https://github.com/better-auth/better-auth/commit/ebf13aa16b19b7d22f63cac432f927fcf7c7c7bc) feat: OAuth additional data - [`81f8080`](https://github.com/better-auth/better-auth/commit/81f80807293d7d3572185a8eed91db7bc8663f20) Merge branch 'canary' into feat/oauth-additional-state-v2 - [`45f7173`](https://github.com/better-auth/better-auth/commit/45f71732ca2bcec3a6f4efa4d269dafbc1c778d1) Merge branch 'canary' into feat/oauth-additional-state-v2 - [`4716096`](https://github.com/better-auth/better-auth/commit/471609620e9660d28ca7ad174fa5349f0b066a61) Merge branch 'canary' into feat/oauth-additional-state-v2 - [`6af7b9a`](https://github.com/better-auth/better-auth/commit/6af7b9aede4ae1c5bbe5c60f52791884f5edd866) Merge branch 'canary' into feat/oauth-additional-state-v2 ### 📊 Changes **9 files changed** (+203 additions, -68 deletions) <details> <summary>View changed files</summary> 📝 `packages/better-auth/src/api/routes/account.ts` (+12 -4) 📝 `packages/better-auth/src/api/routes/callback.ts` (+27 -1) 📝 `packages/better-auth/src/api/routes/sign-in.ts` (+8 -1) 📝 `packages/better-auth/src/init.ts` (+5 -0) 📝 `packages/better-auth/src/oauth2/link-account.ts` (+36 -35) 📝 `packages/better-auth/src/oauth2/state.ts` (+52 -6) 📝 `packages/better-auth/src/plugins/generic-oauth/index.ts` (+15 -1) 📝 `packages/core/src/types/context.ts` (+9 -0) 📝 `packages/core/src/types/init-options.ts` (+39 -20) </details> ### 📄 Description <!-- This is an auto-generated description by cubic. --> ## Summary by cubic Adds support for passing validated additional data through OAuth sign-in and account linking, and applies it to user creation/updates. This enables clients to persist extra fields (e.g., locale, consent) across redirects. - New Features - Accepts data in sign-inSocial, linkSocialAccount, and generic OAuth authorize requests; persisted via OAuth state. - Validates with advanced.oauthConfig.additionalData.schema (Standard Schema). Invalid input redirects with invalid_additional_data. - Exposes validated data as c.context.oauthState and merges it into updateUser/createOAuthUser. - New config: advanced.oauthConfig.additionalData { enabled, schema } and types support. - Migration - Enable advanced.oauthConfig.additionalData.enabled and optionally provide a StandardSchemaV1 schema. - Send data from the client under data in sign-in/link requests; ensure it matches your schema. <sup>Written for commit 6af7b9aede4ae1c5bbe5c60f52791884f5edd866. Summary will update automatically 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-04-17 22:37:10 -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#31732