Hi
If you want to update an existing Facebook connection in the UsersConnectionRepository, I think you'll need the access token and an expiry time for that access token. Once you have those two pieces of information, you should be able to update the connection as follows:
Code:
ConnectionFactory<Facebook> facebookConnectionFactory = connectionFactoryLocator.getConnectionFactory(Facebook.class);
// Obtain the existing connection data for Facebook stored in users connection repository
Connection<Facebook> existingFacebookConnection = conRepo.createConnectionRepository(searcher.getId( )).getPrimaryConnection(Facebook.class);
ConnectionData existingConnectionData = existingFacebookConnection.createData();
String accessTokenObtainedByJS = "someAccessToken";
// Set your expire time for the access token here instead of setting to null
Long expireTime = null;
// Create an updated connection data object for Facebook
ConnectionData updatedConnectionData = new ConnectionData(existingConnectionData.getProviderId(), existingConnectionData.getProviderUserId(),
existingConnectionData.getDisplayName(), existingConnectionData.getProfileUrl(),
existingConnectionData.getImageUrl(), accessTokenObtainedByJS, existingConnectionData.getSecret(), existingConnectionData.getRefreshToken(),expireTime);
// Create an updated Connection object for Facebook
Connection<Facebook> facebookConnection = facebookConnectionFactory.createConnection(updatedConnectionData);
// Update the Facebook connection in the users connection repository
conRepo.createConnectionRepository(searcher.getId()).updateConnection(facebookConnection);
Hope this helps,
Michael