2 require_once(dirname(dirname(__FILE__)) .
'/libextinc/OAuth.php');
21 'consumers' =>
'consumer = array with consumer attributes',
22 'nonce' =>
'nonce+consumer_key = -boolean-',
23 'requesttorequest' =>
'requestToken.key = array(version,callback,consumerKey,)',
24 'authorized' =>
'requestToken.key, verifier = array(authenticated-user-attributes)',
25 'access' =>
'accessToken.key+consumerKey = accestoken',
26 'request' =>
'requestToken.key+consumerKey = requesttoken',
47 $request_attributes = $this->store->get(
'requesttorequest', $requestTokenKey,
'');
48 if ($request_attributes[
'value']) {
50 $v = $request_attributes[
'value'][
'version'];
54 if ($request_attributes[
'value'][
'callback']) {
55 $url = $request_attributes[
'value'][
'callback'];
61 $oConsumer = $this->
lookup_consumer($request_attributes[
'value'][
'consumerKey']);
63 if ($oConsumer && ($oConsumer->callback_url))
$url = $oConsumer->callback_url;
66 $url = \SimpleSAML\Utils\HTTP::addURLParameters(
$url,
array(
"oauth_verifier"=>$verifier));
68 $this->store->set(
'authorized', $requestTokenKey, $verifier,
$data, $this->config->getValue(
'requestTokenDuration', 60*30) );
83 return $this->store->exists(
'authorized',
$requestToken, $verifier);
88 $data = $this->store->get(
'authorized', $token, $verifier);
89 return $data[
'value'];
103 $this->store->set(
'authorized', $accessTokenKey,
'', $authorizedData, $this->config->getValue(
'accessTokenDuration', 60*60*24));
108 if (! $this->store->exists(
'consumers', $consumer_key,
''))
return NULL;
109 $consumer = $this->store->get(
'consumers', $consumer_key,
'');
112 if (
$consumer[
'value'][
'callback_url']) $callback =
$consumer[
'value'][
'callback_url'];
114 if (
$consumer[
'value'][
'RSAcertificate']) {
115 return new OAuthConsumer(
$consumer[
'value'][
'key'],
$consumer[
'value'][
'RSAcertificate'], $callback);
117 return new OAuthConsumer(
$consumer[
'value'][
'key'],
$consumer[
'value'][
'secret'], $callback);
125 return $data[
'value'];
130 if ($this->store->exists(
'nonce', $nonce,
$consumer->key))
return TRUE;
131 $this->store->set(
'nonce', $nonce,
$consumer->key, TRUE, $this->config->getValue(
'nonceCache', 60*60*24*14));
138 $lifetime = $this->config->getValue(
'requestTokenDuration', 60*30);
141 $token->callback = $callback;
142 $this->store->set(
'request', $token->key,
$consumer->key, $token, $lifetime);
145 $request_attributes =
array(
146 'callback' => $callback,
150 $this->store->set(
'requesttorequest', $token->key,
'', $request_attributes, $lifetime);
153 $this->store->set(
'requesttoconsumer', $token->key,
'',
$consumer->key, $lifetime);
161 $this->store->set(
'access', $accestoken->key, $consumer->key, $accestoken, $this->config->getValue(
'accessTokenDuration', 60*60*24) );
172 if (! $this->store->exists(
'requesttorequest', $requestTokenKey,
''))
return NULL;
174 $request = $this->store->get(
'requesttorequest', $requestTokenKey,
'');
175 $consumerKey = $request[
'value'][
'consumerKey'];
176 if (! $consumerKey) {
180 $consumer = $this->store->get(
'consumers', $consumerKey[
'value'],
'');
static generateID()
Generate a random identifier, ID_LENGTH bytes long.
OAuth PECL extension includes an OAuth Exception class, so we need to wrap the definition of this cla...
lookup_token($consumer, $tokenType='default', $token)
new_access_token($requestToken, $consumer, $verifier=null)
isAuthorized($requestToken, $verifier='')
Perform lookup whether a given token exists in the list of authorized tokens; if a verifier is passed...
lookup_consumer_by_requestToken($requestTokenKey)
Return OAuthConsumer-instance that a given requestToken was issued to.
getAuthorizedData($token, $verifier='')
Attribute-related utility methods.
new_request_token($consumer, $callback=null, $version=null)
lookup_nonce($consumer, $token, $nonce, $timestamp)
lookup_consumer($consumer_key)
moveAuthorizedData($requestToken, $verifier, $accessTokenKey)
authorize($requestTokenKey, $data)
Attach the data to the token, and establish the Callback URL and verifier.
Create styles array
The data for the language used.
foreach($mandatory_scripts as $file) $timestamp
static getOptionalConfig($filename='config.php', $configSet='simplesaml')
Load a configuration file from a configuration set.