Para OutsourceFactor , que é escrito em Python / Django, eu obtenho o nome de usuário via oAuth1, em seguida, construo um e-mail como "username@twitter.com", que é garantido como único em todo o Twitter. Em seguida, faço o hash para obter um UUID legal para ser usado e associado à minha conta de usuário local. A mesma coisa para o Yahoo. Google e Facebook usam oAuth2 e me fornecem o endereço de e-mail quando solicitados, o que é bom.
Para garantir várias associações sociais com uma única conta, eu permito associações de contas sociais SOMENTE depois que o usuário tiver criado uma conta localmente e estiver conectado.
Portanto, você deve primeiro criar uma conta (conta local) e, em seguida, usar qualquer um dos provedores de oAuth social para facilitar seus logins futuros. Este é o melhor retorno para o investimento do meu site.
De qualquer forma, você obtém alguma forma única de identificação no Twitter. Então apenas use. Você pode solicitar um endereço de e-mail mais tarde ou antes da associação.