На раннем этапе разработки тоже задавался целью обязательно получать от человека имя, фамилию, емейл и местоположение, вне зависимости от того, отдает ли соцсеть сама эти данные (твиттер вроде не отдает имя и фамилию, линкедин — мыло и т.д.) Я это описывал в
посте (правда, Java, но не думаю, что это проблема).
Правда, потом отказался от этой реализации — важна авторизация. Необходимость ввода имени, фамилии и мыла возникает уже позже, когда нужны действия в отношении самого пользователя. А это уже можно делать путем взаимодействия уже авторизированного пользователя и самого сайта. Кстати, поэтому я, к примеру, разделил сущности авторизационной записи пользователя и профайла пользователя (структурно и в БД).