[PR #7341] [CLOSED] feat: add baseCallbackURL support for handling frontend/backend redirects #15490

Closed
opened 2026-04-13 10:03:24 -05:00 by GiteaMirror · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/better-auth/better-auth/pull/7341
Author: @SaviruFr
Created: 1/13/2026
Status: Closed

Base: canaryHead: feat/basecallbackurl


📝 Commits (3)

  • 9f0b2bf feat: add baseCallbackURL support for handling frontend/backend redirects
  • bb44793 format state.ts
  • b870289 Update docs/content/docs/reference/options.mdx

📊 Changes

18 files changed (+543 additions, -10 deletions)

View changed files

📝 docs/content/docs/concepts/client.mdx (+11 -0)
📝 docs/content/docs/installation.mdx (+10 -0)
📝 docs/content/docs/reference/options.mdx (+21 -0)
📝 packages/better-auth/src/api/routes/password.ts (+5 -3)
📝 packages/better-auth/src/api/routes/sign-in.test.ts (+104 -0)
📝 packages/better-auth/src/client/config.ts (+9 -1)
📝 packages/better-auth/src/client/url.test.ts (+55 -0)
📝 packages/better-auth/src/context/__snapshots__/create-context.test.ts.snap (+1 -0)
📝 packages/better-auth/src/context/create-context.test.ts (+86 -0)
📝 packages/better-auth/src/context/create-context.ts (+3 -1)
📝 packages/better-auth/src/context/helpers.ts (+12 -1)
📝 packages/better-auth/src/oauth2/state.ts (+20 -1)
📝 packages/better-auth/src/social.test.ts (+1 -1)
📝 packages/better-auth/src/utils/url.test.ts (+149 -2)
📝 packages/better-auth/src/utils/url.ts (+32 -0)
📝 packages/core/src/types/context.ts (+1 -0)
📝 packages/core/src/types/init-options.ts (+22 -0)
📝 packages/core/src/types/plugin-client.ts (+1 -0)

📄 Description

Summary by cubic

Adds baseCallbackURL to control where auth callbacks redirect when the frontend and backend are on different origins. This ensures relative callback paths resolve to your frontend and tightens origin checks without extra config.

  • New Features

    • Added baseCallbackURL to server/client options; falls back to BETTER_AUTH_CALLBACK_URL (or public variants) and then baseURL origin.
    • Relative callbackURL values now resolve against baseCallbackURL; if none provided, we default to baseCallbackURL or baseURL.
    • baseCallbackURL origin is auto-added to trustedOrigins and validated in origin checks.
    • Updated OAuth state generation and password redirect helpers to use baseCallbackURL. Added tests and docs.
  • Migration

    • If your frontend and backend are on different origins, set baseCallbackURL or BETTER_AUTH_CALLBACK_URL. No changes needed otherwise.

Written for commit b8702898c5. 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/7341 **Author:** [@SaviruFr](https://github.com/SaviruFr) **Created:** 1/13/2026 **Status:** ❌ Closed **Base:** `canary` ← **Head:** `feat/basecallbackurl` --- ### 📝 Commits (3) - [`9f0b2bf`](https://github.com/better-auth/better-auth/commit/9f0b2bfb1decb2c6525260c6b8779a873aa678d5) feat: add baseCallbackURL support for handling frontend/backend redirects - [`bb44793`](https://github.com/better-auth/better-auth/commit/bb44793e5b7511a0c78ee69452facb8a84bb5a27) format state.ts - [`b870289`](https://github.com/better-auth/better-auth/commit/b8702898c5146d95e8aecf6669eff400a0e927ef) Update docs/content/docs/reference/options.mdx ### 📊 Changes **18 files changed** (+543 additions, -10 deletions) <details> <summary>View changed files</summary> 📝 `docs/content/docs/concepts/client.mdx` (+11 -0) 📝 `docs/content/docs/installation.mdx` (+10 -0) 📝 `docs/content/docs/reference/options.mdx` (+21 -0) 📝 `packages/better-auth/src/api/routes/password.ts` (+5 -3) 📝 `packages/better-auth/src/api/routes/sign-in.test.ts` (+104 -0) 📝 `packages/better-auth/src/client/config.ts` (+9 -1) 📝 `packages/better-auth/src/client/url.test.ts` (+55 -0) 📝 `packages/better-auth/src/context/__snapshots__/create-context.test.ts.snap` (+1 -0) 📝 `packages/better-auth/src/context/create-context.test.ts` (+86 -0) 📝 `packages/better-auth/src/context/create-context.ts` (+3 -1) 📝 `packages/better-auth/src/context/helpers.ts` (+12 -1) 📝 `packages/better-auth/src/oauth2/state.ts` (+20 -1) 📝 `packages/better-auth/src/social.test.ts` (+1 -1) 📝 `packages/better-auth/src/utils/url.test.ts` (+149 -2) 📝 `packages/better-auth/src/utils/url.ts` (+32 -0) 📝 `packages/core/src/types/context.ts` (+1 -0) 📝 `packages/core/src/types/init-options.ts` (+22 -0) 📝 `packages/core/src/types/plugin-client.ts` (+1 -0) </details> ### 📄 Description <!-- This is an auto-generated description by cubic. --> ## Summary by cubic Adds baseCallbackURL to control where auth callbacks redirect when the frontend and backend are on different origins. This ensures relative callback paths resolve to your frontend and tightens origin checks without extra config. - New Features - Added baseCallbackURL to server/client options; falls back to BETTER_AUTH_CALLBACK_URL (or public variants) and then baseURL origin. - Relative callbackURL values now resolve against baseCallbackURL; if none provided, we default to baseCallbackURL or baseURL. - baseCallbackURL origin is auto-added to trustedOrigins and validated in origin checks. - Updated OAuth state generation and password redirect helpers to use baseCallbackURL. Added tests and docs. - Migration - If your frontend and backend are on different origins, set baseCallbackURL or BETTER_AUTH_CALLBACK_URL. No changes needed otherwise. <sup>Written for commit b8702898c5146d95e8aecf6669eff400a0e927ef. 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-04-13 10:03:24 -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#15490