twitter: New attribute names + attribute map.

Thanks to Brook Schofield for providing this patch.

git-svn-id: http://simplesamlphp.googlecode.com/svn/trunk@2654 44740490-163a-0410-bde0-09ae8108e29a
This commit is contained in:
olavmrk 2010-11-18 12:13:08 +00:00
parent 33b158ad47
commit 0898064cad
2 changed files with 24 additions and 9 deletions

View File

@ -0,0 +1,17 @@
<?php
$attributemap = array(
// Generated Twitter Attributes
'twitter_screen_n_realm' => 'eduPersonPrincipalName', // screen_name@twitter.com
//'twitter_at_screen_name' => 'eduPersonPrincipalName', // legacy @twitter format
'twitter_targetedID' => 'eduPersonTargetedID', // http://twitter.com!id_str
// Attributes Returned by Twitter
'twitter.screen_name' => 'uid', // equivalent to twitter username without leading @
//'twitter.id_str' => 'uid', // persistent numeric twitter user id
'twitter.name' => 'displayName',
'twitter.url' => 'labeledURI',
'twitter.lang' => 'preferredLanguage',
//'twitter.profile_image_url' => 'jpegPhoto',
'twitter.description' => 'description',
);

View File

@ -115,18 +115,16 @@ class sspmod_authtwitter_Auth_Source_Twitter extends SimpleSAML_Auth_Source {
$attributes = array();
foreach($userdata AS $key => $value) {
if (is_string($value))
$attributes[$key] = array((string)$value);
$attributes['twitter.' . $key] = array((string)$value);
}
if (array_key_exists('screen_name', $userdata) )
$attributes['eduPersonPrincipalName'] = array('@' . $userdata['screen_name']);
if (array_key_exists('name', $userdata) )
$attributes['displayName'] = array($userdata['name']);
if (array_key_exists('profile_image_url', $userdata) )
$attributes['jpegPhoto'] = array(base64_encode(file_get_contents($userdata['profile_image_url'])));
if (array_key_exists('url', $userdata) )
$attributes['labeledURI'] = array($userdata['url']);
if (array_key_exists('screen_name', $userdata) ) {
$attributes['twitter_at_screen_name'] = array('@' . $userdata['screen_name']);
$attributes['twitter_screen_n_realm'] = array($userdata['screen_name'] . '@twitter.com');
}
if (array_key_exists('id_str', $userdata) )
$attributes['twitter_targetedID'] = array('http://twitter.com!' . $userdata['id_str']);
$state['Attributes'] = $attributes;