Как решить проблему задвоения аккаунтов при регистрации и входе через соц. сети?
Если регистрация с email адресом, то по возможности вытаскивать email из соц сетей и автоматически привязывать у пользователя эту соц сеть. Если соц сеть не дает email, то при первом входе насильно требовать завершения регистрации через указания email, далее проверяется есть ли этот пользователь уже в базе - тогда говорим нужно авторизоваться и после логина привязываем соц сеть, если такого email нет, то регистрируем нового пользователя с записью этого email в качестве основного + привязка соц сети + пароль(уже по желанию).
Александр Талалаев написал правильно. Но если email не обнаружен, предлагаете объединить аккаунты, если они уже есть на сайте. А дальше уже ваши внутренние алгоритмы и кухня.