В последнее время я унаследовал весеннее приложение от другого разработчика, который использует Spring Social и Spring Security для аутентификации пользователя.Не получая имя, фамилию и фамилию от Facebook OAuth
Поскольку разработчик, который его написал, хочет прекратить использовать свой идентификатор приложения на Facebook, я создал новый. И вот когда проблема началась.
Я поменял приложение id и приложение на свои новые, и вдруг, подписавшись, Facebook прекратил доставку имени, фамилии и адреса электронной почты.
В начале я подумал, что это может быть из-за моего нового пользователя Facebook, который также является владельцем нового идентификатора приложения, но нет. Приложение по-прежнему работает с старым идентификатором приложения, и когда я подписываюсь с моим пользователем, выдается вышеупомянутые атрибуты.
Что мне здесь не хватает? Должен ли я переключать что-то волшебное при определении моего приложения Facebook на developers.facebook.com?
Новое приложение активировано и доступно для широкой публики. Домены URL сайта и приложения установлены так же, как и действительные URI перенаправления OAuth.
Я пытаюсь проверить приложение на localhost
, а также домены, установленные в настройках приложения Facebook.
Экземпляр org.springframework.social.connect.UserProfile
возвращает имя пользователя, если я использую getName()
, однако getFirstName()
, getLastName()
и getEmail()
все возвращаются null
.
ли вы новое приложение имеет разрешение на просмотр имя, фамилия и адрес электронной почты. Это можно проверить в меню «Состояние и просмотр» в developers.facebook.com под вашим приложением. – shazin
Да, это все зеленое, живое и доступное для всех пользователей (электронная почта, public_profile и user_friends). – Jagger
@shazin Единственное, что возвращает экземпляр 'org.springframework.social.connect.UserProfile', это имя (метод' getName() '). Другие методы получения электронной почты, имени и фамилии возвращают null. – Jagger