When users authenticate via Sign In with Apple OAuth flow (through react-native-auth0’s authorize(), which uses ASWebAuthenticationSession), the Auth0 ID token and /userinfo endpoint never include given_name or family_name; even when Auth0 Post Login Actions are configured to map them. This makes it impossible to prefill a user’s name during onboarding, which is a requirement Apple explicitly enforces (App Store Review Guideline 5.1.1).
Environment
-
SDK: react-native-auth0 v4.6.0
-
Platform: iOS (React Native)
-
Auth0 Connection: Apple social connection (production keys configured)
I’ve tried adding the following Post Login Action to map Apple’s stored name fields to OIDC claims:
exports.onExecutePostLogin = async (event, api) => {
if (event.connection.strategy === ‘apple’) {
const firstName = event.user.first_name;
const lastName = event.user.last_name;
if (firstName) api.idToken.setCustomClaim(‘given_name’, firstName);
if (lastName) api.idToken.setCustomClaim(‘family_name’, lastName);
}
};
Observed Behavior
Both the ID token payload and /userinfo response are missing all name-related fields. The name claim is set to the user’s (private relay) email address, not their actual name. Full observed /userinfo response