Skip to content

[Bug] Sign in with Apple: user name missing from profile.details #8673

@andywinz

Description

@andywinz

Setup

We have a React Native mobile app that opens a Next.js web app for authentication (similar to Auth0). The web app uses Thirdweb's inAppWallet for social logins:

inAppWallet({
  auth: {
    options: ["email", "passkey", "google", "apple", "facebook"],
  },
})

After login, we read the user's profile using useProfiles() / getProfiles().

Problem

When a user signs in with Google, profile.details includes name and picture:

{ "type": "google", "details": { "id": "...", "email": "user@gmail.com", "name": "John Doe", "picture": "https://..." } }

When a user signs in with Apple, profile.details only has id and emailname is missing:

{ "type": "apple", "details": { "id": "001234.abc...", "email": "privaterelay@icloud.com" } }

This is causing our Apple App Store rejection (Guideline 4.8) because Apple requires that Sign in with Apple users have a proper display name.

Why I think this is a backend issue

The SDK passes through whatever the backend returns as-is (getUser.ts line ~121, linkAccount.ts line ~56). So the data gap is on the backend (embedded-wallet.thirdweb.com), not in the SDK.

Apple sends the user's full name only on the first authorization. If the backend doesn't capture and persist it at that moment, it's permanently lost.

Ask

  1. Does the embedded wallet backend capture Apple's fullName on first authorization?
  2. If not, could this be added? It's critical for App Store compliance.
  3. Minor: the Profile type could add optional name? and picture? fields to match what Google already returns at runtime.

Environment

  • SDK: thirdweb@5.118.1
  • Auth: inAppWallet with strategy: "apple"
  • Platform: Next.js 15 (web) + React Native (mobile)

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