Google Play & Apple Store Emergency : Android 16 Compliance & Privacy Manifests.24h Diagnostic Hub
Kerweb. Agence Capacitor
APPLE_GUIDELINE_4_8_SIWA

Apple Guideline 4.8 Rejection: Mandatory Sign in with Apple (SIWA) with Google Login

Complete compliance guide and 24-48h emergency intervention service guaranteed by our technical task force.

TL;DR — Quick Synthetic Fix

Install the native @capacitor-community/apple-sign-in plugin, capture the user's fullName and email on the initial session, and cryptographically verify the identityToken server-side.

Problem Description & Store Risk

The Apple App Store automatically rejects any iOS app offering third-party social logins (Google Sign-In, Facebook Login, etc.) if Sign in with Apple is not offered with equivalent prominence.

Step-by-Step Fix Procedure

According to Apple Review Guideline 4.8, apps that use a third-party or social login service (such as Google or Facebook) must also offer Sign in with Apple as an equivalent option. Failure to do so results in immediate App Store rejection. ### Critical Technical Complexities Resolved by Kerweb: 1. **Frontend & Capacitor Layer:** - Leveraging the native `@capacitor-community/apple-sign-in` plugin to invoke the official iOS system FaceID / TouchID sheet. - Strict adherence to Apple Human Interface Guidelines regarding button styling and prominent positioning. 2. **Backend & Authentication Layer (The First-Login Trap):** - **One-time profile return:** Apple only returns the user's `fullName` and `email` on the very first sign-in attempt. Our architecture guarantees instant database persistence before the session handshake closes. - **Apple Private Relay (Hide My Email):** Reliable support for masked Apple relay email addresses. - **Cryptographic JWT Verification:** Secure decoding and public-key signature verification of the Apple `identityToken` on your backend (Node.js, Python, Laravel, Go).
src/services/appleAuth.ts
import { SignInWithApple, SignInWithAppleOptions, SignInWithAppleResponse } from '@capacitor-community/apple-sign-in';

export const handleAppleSignIn = async () => {
  const options: SignInWithAppleOptions = {
    clientId: 'app.kerweb.mobile',
    redirectURI: 'https://kerweb.app/api/auth/apple/callback',
    scopes: 'email name',
    state: '12345',
    nonce: 'nonce',
  };

  const result: SignInWithAppleResponse = await SignInWithApple.authorize(options);
  
  // result.response.identityToken -> to be verified on backend
  // Note: result.response.email & givenName are ONLY provided on first login
  return result.response;
};
24h Intervention by Julien Kermarec

Prefer to have an Ionic Expert handle it?

We take over your codebase, apply the compliant fix, and resubmit your app to the Stores on your behalf.

Fix my App in 24h