Skip to content

fix(ui): reconnect Google One Tap accounts through Google OAuth - #9690

Closed
akshitkrnagpal wants to merge 2 commits into
clerk:mainfrom
akshitkrnagpal:t3code/fix-google-one-tap-reconnect
Closed

akshitkrnagpal wants to merge 2 commits into
clerk:mainfrom
akshitkrnagpal:t3code/fix-google-one-tap-reconnect

Conversation

@akshitkrnagpal

Copy link
Copy Markdown

Description

Fixes #9689: "UserProfile reconnect sends google_one_tap instead of oauth_google for Google One Tap accounts".

Reconnect now normalizes google_one_tap to oauth_google, allowing disconnected Google One Tap accounts to reconnect through regular Google OAuth. Session reverification remains in place, and the retry uses the normalized strategy.

I've been using this patch, and it fixed the issue for me. I'm open to a different approach; this is the fix that has worked for me.

To verify, reconnect a disconnected Google One Tap account in UserProfile and complete session reverification. The request should use oauth_google and redirect to Google.

Checklist

  • pnpm test runs as expected.
  • pnpm build runs as expected.
  • (If applicable) JSDoc comments have been added or updated for any package exports
  • (If applicable) Documentation has been updated

Type of change

  • 🐛 Bug fix
  • 🌟 New feature
  • 🔨 Breaking change
  • 📖 Refactoring / dependency upgrade / documentation
  • other:

- Preserve session reverification when reconnecting in UserProfile.
@vercel

vercel Bot commented Sep 9, 2026

Copy link
Copy Markdown

@akshitkrnagpal is attempting to deploy a commit to the Clerk Production Team on Vercel.

A member of the Team first needs to authorize it.

@changeset-bot

changeset-bot Bot commented Sep 9, 2026 •

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: f7ae443

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 3 packages
Name Type
@clerk/ui Patch
@clerk/chrome-extension Patch
@clerk/swingset Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@coderabbitai

coderabbitai Bot commented Sep 9, 2026 •

Copy link
Copy Markdown
Contributor

Review Change StackReview Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Repository YAML (base), Organization UI (inherited)

Review profile: ASSERTIVE

Plan: Advanced

Run ID: ec65313c-31cc-4b32-b39d-6b830c5bbcdc

📥 Commits

Reviewing files that changed from the base of the PR and between dcd065a and 9243dc6.

📒 Files selected for processing (3)
  • .changeset/early-crabs-obey.md
  • packages/ui/src/components/UserProfile/ConnectedAccountsSection.tsx
  • packages/ui/src/components/UserProfile/__tests__/ConnectedAccountsSection.test.tsx
🔗 Linked repositories identified

CodeRabbit considers these linked repositories for cross-repo context during reviews:

  • clerk/clerk_go (manual)
  • clerk/dashboard (manual)
  • clerk/accounts (manual)
  • clerk/backoffice (manual)
  • clerk/clerk (manual)
  • clerk/clerk-docs (manual)
  • clerk/cloudflare-workers (manual)

Included review availability: Your plan provides up to 4 included reviews per hour; 3 remain after this review.


📝 Walkthrough

Walkthrough

UserProfile reconnect logic now maps google_one_tap to oauth_google. Existing fallback strategies remain unchanged. Tests cover the initial reconnect request and the retry after session reverification for both google_one_tap and oauth_google. A patch changeset was added for @clerk/ui.

Priority: ➖ Normal

Estimated code review effort: 2 (Simple) | ~10 minutes

Severity of issue fixed: Medium

Suggested reviewers: alexcarpenter

Merge Risk: ⚪ Minimal · up to 9243d

Disconnected Google One Tap accounts now reconnect through Google OAuth, including after session reverification. The covered reconnect and retry behavior is ready to merge.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly and concisely identifies the Google One Tap reconnection fix through Google OAuth.
Description check ✅ Passed The description directly explains the bug, the normalization to oauth_google, preserved session reverification, and the verification steps.
Linked Issues check ✅ Passed The changes satisfy issue #9689 by mapping google_one_tap to oauth_google for reconnect, preserving session reverification, and adding regression coverage for the retry flow.
Out of Scope Changes check ✅ Passed The changeset, implementation update, and regression tests are limited to the Google One Tap reconnection issue. No unrelated changes are present.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 2…
✨ Finishing Touches 💡 1
🛠️ Fix failing CI checks 💡
  • Create stacked PR
  • Commit on current branch

Comment @coderabbitai help to get the list of available commands.

@wobsoriano wobsoriano left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for your contribution!

@pkg-pr-new

pkg-pr-new Bot commented Sep 15, 2026

Copy link
Copy Markdown

Open in StackBlitz

@clerk/astro

npm i https://pkg.pr.new/@clerk/astro@9690

@clerk/backend

npm i https://pkg.pr.new/@clerk/backend@9690

@clerk/chrome-extension

npm i https://pkg.pr.new/@clerk/chrome-extension@9690

@clerk/clerk-js

npm i https://pkg.pr.new/@clerk/clerk-js@9690

@clerk/electron

npm i https://pkg.pr.new/@clerk/electron@9690

@clerk/electron-passkeys

npm i https://pkg.pr.new/@clerk/electron-passkeys@9690

@clerk/eslint-plugin

npm i https://pkg.pr.new/@clerk/eslint-plugin@9690

@clerk/expo

npm i https://pkg.pr.new/@clerk/expo@9690

@clerk/expo-google-signin

npm i https://pkg.pr.new/@clerk/expo-google-signin@9690

@clerk/expo-passkeys

npm i https://pkg.pr.new/@clerk/expo-passkeys@9690

@clerk/express

npm i https://pkg.pr.new/@clerk/express@9690

@clerk/fastify

npm i https://pkg.pr.new/@clerk/fastify@9690

@clerk/hono

npm i https://pkg.pr.new/@clerk/hono@9690

@clerk/localizations

npm i https://pkg.pr.new/@clerk/localizations@9690

@clerk/nextjs

npm i https://pkg.pr.new/@clerk/nextjs@9690

@clerk/nuxt

npm i https://pkg.pr.new/@clerk/nuxt@9690

@clerk/react

npm i https://pkg.pr.new/@clerk/react@9690

@clerk/react-router

npm i https://pkg.pr.new/@clerk/react-router@9690

@clerk/shared

npm i https://pkg.pr.new/@clerk/shared@9690

@clerk/tanstack-react-start

npm i https://pkg.pr.new/@clerk/tanstack-react-start@9690

@clerk/testing

npm i https://pkg.pr.new/@clerk/testing@9690

@clerk/ui

npm i https://pkg.pr.new/@clerk/ui@9690

@clerk/upgrade

npm i https://pkg.pr.new/@clerk/upgrade@9690

@clerk/vue

npm i https://pkg.pr.new/@clerk/vue@9690

commit: 9243dc6

@wobsoriano

Copy link
Copy Markdown
Member

Hi! Closing this in favor of #9767. Added you as co-author. Our CI doesnt properly run on external contribs yet.

@wobsoriano wobsoriano closed this Sep 15, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

UserProfile reconnect sends google_one_tap instead of oauth_google for Google One Tap accounts

2 participants