Skip to content

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

Description

@akshitkrnagpal

Preliminary Checks

Reproduction

A minimal reproduction link has not been provided. Steps to reproduce are included below.

Publishable key

Not provided.

Description

I found this while reconnecting a disconnected Google One Tap account in UserProfile with Google OAuth configured. After clicking Reconnect and completing session reverification, the request sent strategy=google_one_tap and failed with:

Google_one_tap OAuth provider not enabled.

Steps to reproduce:

  1. Configure Google OAuth.
  2. Open UserProfile for a user with a disconnected Google account originally connected through Google One Tap.
  3. Click Reconnect for that account.
  4. Complete session reverification.
  5. Observe the failed request using strategy=google_one_tap.

Expected behavior:

Reconnect starts regular Google OAuth using strategy=oauth_google, preserving session reverification.

Actual behavior:

Reconnect sends strategy=google_one_tap, resulting in the provider-not-enabled error even though Google OAuth is configured.

Cause and proposed fix:

ConnectedAccountsSection reuses account.verification.strategy when calling user.createExternalAccount(). For Google One Tap accounts, that value is google_one_tap, which cannot be reused to start the OAuth reconnect flow.

Normalize google_one_tap to oauth_google for reconnect while preserving the existing reverification flow. Add regression coverage verifying that both the initial request and the retry after reverification use oauth_google.

Environment

Affected application environment details and SDK versions have not been provided.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions