Для OutsourceFactor , который написан на Python / Django, я получаю имя пользователя через oAuth1, затем создаю электронное письмо как «username@twitter.com», которое гарантированно будет уникальным для всего твиттера. Затем я хеширую его, чтобы получить хороший UUID, который будет использоваться и связан с моей локальной учетной записью. То же самое и с Yahoo. Google и Facebook используют oAuth2, и они дают мне адрес электронной почты по запросу, что приятно.
Чтобы обеспечить множественные социальные ассоциации с одной учетной записью, я разрешаю ассоциации социальных учетных записей ТОЛЬКО после того, как пользователь локально создал учетную запись и вошел в систему.
Итак, вам нужно сначала создать учетную запись (локальную учетную запись), затем вы можете использовать любого из социальных провайдеров oAuth, чтобы упростить вход в систему в будущем. Это лучший вариант для моего сайта.
В любом случае, вы получаете уникальную форму идентификатора из твиттера. Так что просто используйте это. Вы можете запросить адрес электронной почты позже или до ассоциации.