3 require_once(dirname(dirname(dirname(dirname(dirname(__FILE__))))) .
'/oauth/libextinc/OAuth.php');
51 assert(is_array(
$info));
59 $this->key = $configObject->getString(
'key');
60 $this->secret = $configObject->getString(
'secret');
61 $this->force_login = $configObject->getBoolean(
'force_login',
false);
62 $this->include_email = $configObject->getBoolean(
'include_email',
false);
83 $requestToken = $consumer->getRequestToken(
'https://api.twitter.com/oauth/request_token', array(
'oauth_callback' => $linkback));
85 $requestToken->key .
"] with the secret [" . $requestToken->secret .
"]");
87 $state[
'authtwitter:authdata:requestToken'] = $requestToken;
91 $url =
'https://api.twitter.com/oauth/authenticate';
92 if ($this->force_login) {
93 $url = \SimpleSAML\Utils\HTTP::addURLParameters(
$url, array(
'force_login' =>
'true'));
95 $consumer->getAuthorizeRequest(
$url, $requestToken);
101 $requestToken =
$state[
'authtwitter:authdata:requestToken'];
102 $parameters = array();
104 if (!isset($_REQUEST[
'oauth_token'])) {
107 if ($requestToken->key !== (
string)$_REQUEST[
'oauth_token']) {
111 if (!isset($_REQUEST[
'oauth_verifier'])) {
114 $parameters[
'oauth_verifier'] = (string)$_REQUEST[
'oauth_verifier'];
119 $requestToken->key .
"] with the secret [" . $requestToken->secret .
"]");
122 $accessToken = $consumer->getAccessToken(
'https://api.twitter.com/oauth/access_token', $requestToken, $parameters);
124 $accessToken->key .
"] with the secret [" . $accessToken->secret .
"]");
126 $verify_credentials_url =
'https://api.twitter.com/1.1/account/verify_credentials.json';
127 if ($this->include_email) {
128 $verify_credentials_url = $verify_credentials_url .
'?include_email=true';
130 $userdata = $consumer->getUserInfo($verify_credentials_url, $accessToken);
132 if (!isset($userdata[
'id_str']) || !isset($userdata[
'screen_name'])) {
137 foreach ($userdata as
$key => $value) {
138 if (is_string($value)) {
143 $attributes[
'twitter_at_screen_name'] = array(
'@' . $userdata[
'screen_name']);
144 $attributes[
'twitter_screen_n_realm'] = array($userdata[
'screen_name'] .
'@twitter.com');
145 $attributes[
'twitter_targetedID'] = array(
'http://twitter.com!' . $userdata[
'id_str']);
static getModuleURL($resource, array $parameters=array())
Get absolute URL to a specified module resource.
if(!array_key_exists('stateid', $_REQUEST)) $state
Handle linkback() response from LinkedIn.
if(array_key_exists('yes', $_REQUEST)) $attributes
static loadFromArray($config, $location='[ARRAY]', $instance=null)
Loads a configuration from the given array.
static saveState(&$state, $stage, $rawId=false)
Save the state.