0

Я настроил spring social для facebook, а также весеннюю социальную аутентификацию в моей заявке с пользовательскими UsersConnectionRepository и ConnectionRepository.Spring Social Facebook неверный URL-адрес

файл конфигурации Repository реализация

@Configuration 
public class SocialConfig extends SocialConfigurerAdapter{ 
    ...  
    @Override 
    public UsersConnectionRepository getUsersConnectionRepository(ConnectionFactoryLocator factoryLocator) { 
     SecUsersConnectionRepository repository = new SecUsersConnectionRepository(factoryLocator, userRepository, userConnectionRepository); 
     return repository; 
    } 
    ... 
} 

Подключение

public class SecConnectionRepository implements ConnectionRepository { 
    ... 
@Override 
    public void addConnection(Connection<?> connection) { 
     UserConnection userConnection = userRepository.findConnectionBy(user, connection.getKey().getProviderId(), connection.getKey().getProviderUserId()); 
     if (userConnection == null) { 
      ... 
      userConnection.setProviderId(data.getProviderId()); 
      userConnection.setProviderUserId(data.getProviderUserId()); 
      userConnection.setDisplayName(data.getDisplayName()); 
      userConnection.setProfileUrl(data.getProfileUrl()); 
      userConnection.setImageUrl(data.getImageUrl()); 
      ... 
     } else { 
      throw new DuplicateConnectionException(connection.getKey()); 
     } 
    } 

Когда я добавить свой facebook логин, объект Connect<A> интерфейс принести profileUrl, Но URL в этом формате

https://www.facebook.com/profile.php?id=XXXXXXXXXXXXXXX&_rdr

Если открыть эту ссылку браузер говорит

enter image description here

Gradle файл

buildscript { 
    repositories { 
     maven { url "https://repo.spring.io/libs-release" } 
     ... } 
    dependencies { 
     classpath("org.springframework.boot:spring-boot-gradle-plugin:1.2.3.RELEASE") 
    } 
} 
apply plugin: 'java' 
... 
jar {...} 
repositories { 
    ... 
    maven { url "https://repo.spring.io/libs-release" } 
} 
dependencies { 
    ... 
    compile("org.springframework.social:spring-social-facebook") 
    compile("org.springframework.social:spring-social-security") 
    ... } 
task wrapper(type: Wrapper) {...} 

Что я здесь делаю неправильно?

РЕШЕНИЕ

обновление FB libary весной решить эту проблему.

compile("org.springframework.social:spring-social-facebook:2.0.1.RELEASE") 

ответ

1

Проверьте, используете ли вы самую последнюю версию Spring Social. ProfileUrl должны в настоящее время имеет схему

https://www.facebook.com/app_scoped_user_id/{app_scoped_user_id}/ 

где {app_scoped_user_id} является фактическим приложением в области видимости идентификатора пользователя.

См

+0

Спасибо за ответ. Вы правы, моя библиотека FB в социальной версии «1.1.1.RELEASE». По умолчанию весенняя загрузка последней версии (1.2.3.RELEASE) включает более старую версию социальной библиотеки. :/ –

+0

Значит, вы можете это исправить? – Tobi

+1

да я исправил его :) –

 Смежные вопросы

  • Нет связанных вопросов^_^