auth
auth copied to clipboard
Ethereum addresses with different cases create duplicate identities
Bug report
Ethereum addresses with different cases create duplicate identities
Description
Supabase Auth treats Ethereum wallet addresses as case-sensitive strings when creating Web3 identities, causing the same wallet to create multiple identity records if the address casing differs (e.g., checksum format vs lowercase).
Current Behavior
When a user signs in with an Ethereum wallet:
- During migration: identity created with
provider_id = "web3:ethereum:0xabcd1234..."(lowercase) - During login via MetaMask: identity created with
provider_id = "web3:ethereum:0xAbCd1234..."(EIP-55 checksum) - Result: Same wallet, two different identity records in
auth.identities