diff --git a/supabase/functions/process-oauth-profile/index.ts b/supabase/functions/process-oauth-profile/index.ts index 851c4239..b87c0fba 100644 --- a/supabase/functions/process-oauth-profile/index.ts +++ b/supabase/functions/process-oauth-profile/index.ts @@ -68,7 +68,21 @@ Deno.serve(async (req) => { console.log('[OAuth Profile] Processing profile for user:', user.id); const provider = user.app_metadata?.provider; - const userMetadata = user.user_metadata; + + // For Discord, data is in identities[0].identity_data, not user_metadata + let userMetadata = user.user_metadata; + if (provider === 'discord' && user.identities && user.identities.length > 0) { + const discordIdentity = user.identities.find(i => i.provider === 'discord'); + if (discordIdentity) { + userMetadata = discordIdentity.identity_data || {}; + console.log('[OAuth Profile] Using Discord identity data:', { + hasAvatar: !!userMetadata.avatar, + hasUsername: !!userMetadata.username, + hasGlobalName: !!userMetadata.global_name, + hasId: !!userMetadata.id + }); + } + } let avatarUrl: string | null = null; let displayName: string | null = null;