Skip to content

disable apple for non-custodian wallet auth#129

Merged
jinglescode merged 1 commit into
mainfrom
bump-version
May 8, 2026
Merged

disable apple for non-custodian wallet auth#129
jinglescode merged 1 commit into
mainfrom
bump-version

Conversation

@Temasar1

@Temasar1 Temasar1 commented May 5, 2026

Copy link
Copy Markdown
Contributor

Summary

Removes Apple Sign In from the SDK's non-custodial OAuth surface.

Breaking changes

This is a breaking change. SDK bumps to 0.2.4. There are three vectors — only the third requires actually calling sign-in:

  1. Constructor throws on instantiation. Any consumer currently passing a truthy appleOauth2ClientId to new Web3NonCustodialProvider({...}) will throw at construction time. Apps with Apple configured will fail to boot until the field is removed.
  2. TypeScript compile errors from type-union narrowing. "apple" is removed from Web3AuthProvider and UserControlledWalletDirectTo. Any code referencing "apple" as a value of these types fails tsc, even if sign-in is never called.
  3. signInWithProvider("apple", …) throws at runtime if invoked.

Changes

  • Web3NonCustodialProviderParams.appleOauth2ClientId is now ?: string and @deprecated. Passing a non-empty value throws from the constructor.
  • signInWithProvider(provider, …) throws if provider === "apple" (cast-guarded so JS callers also crash cleanly).
  • "apple" removed from Web3AuthProvider and UserControlledWalletDirectTo type unions.
  • Apple removed from examples/nextjs and examples/react-native provider lists.
  • Web3ProjectBranding.appleEnabled? retained as @deprecated so legacy API payloads continue to deserialize cleanly; UIs should ignore it.

Migration

  new Web3NonCustodialProvider({
    projectId,
    googleOauth2ClientId,
    twitterOauth2ClientId,
    discordOauth2ClientId,
-   appleOauth2ClientId,
  });

- await provider.signInWithProvider("apple", redirectUrl, cb);
+ // use "google" | "discord" | "twitter" | "email" instead

Test plan

  • pnpm build:sdk succeeds
  • Constructor throws when appleOauth2ClientId is truthy
  • signInWithProvider("apple", …) throws at runtime
  • Examples render only Google / Discord / Twitter / Email

@Temasar1 Temasar1 requested a review from jinglescode May 5, 2026 19:21
@jinglescode jinglescode merged commit 92908c7 into main May 8, 2026
1 check passed
@jinglescode jinglescode deleted the bump-version branch May 8, 2026 14:04
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.

2 participants