Hi there!
I’ve had the same problems as mentioned above: facebook works, twitter doesn’t. Here are the steps I did to fix the issue. Note that this is not a perfect solution, however I wanted to keep the social-connect plugin.
First, note that the URLs in the social-connect (SC) are a bit old. Once you register an app, the dev.twitter.com will list the https://api.twitter.com/oauth/, where the SC has https://twitter.com/oauth/ in its EpiTwitter.php, so this will most probably change. For now however, it will work.
Second, we can do a bit of tracing in the SC callback.php (plugins/social-connect/twitter/callback.php). In my case, I’ve narrowed the problem between the
$user=$twitter_api->get_accountVerify_credentials()
and the
$signature = social_connect_generate_signature($twitter_id)
If we put a
print_r($user); die();
we will see that Twitter does its job. The problem most probably is in the function call of $user->name and $user->screen_name, since they produce the errors. However, the $user object already holds everything we need, if we do a
$user_str = serialize($user);
and then
preg_match("/user_id=([0-9]*)/", $user_str, $match_id);
$twitter_id=$match_id[1];
preg_match("/screen_name=([a-zA-Z0-9_]{1,15}&?)/", $user_str, $match_user);
$screen_name=$match_user[1];
and leave everything else as is, it should work.