как найти его уже существующий профиль в базе и просто дополнить (при необходимости) несколько неуказанных в таблице полей?
Если сервис вернул email - смотреть по email. А если нет - вы не сможете на 100% быть уверены что это два тех же человека. Все просто.
Для авторизации через соц сервисы есть куча реализаций под oauth2.