<?php require_once dirname(dirname(__FILE__)) . '/libextinc/OAuth.php'; $oauthconfig = SimpleSAML_Configuration::getConfig('module_oauth.php'); if (!$oauthconfig->getBoolean('getUserInfo.enable', FALSE)) { throw new Exception('Get user info endpoint is disabled. This endpoint can be enabled in the module_oauth.php configuration file.'); } $store = new sspmod_oauth_OAuthStore(); $server = new sspmod_oauth_OAuthServer($store); $hmac_method = new OAuthSignatureMethod_HMAC_SHA1(); $plaintext_method = new OAuthSignatureMethod_PLAINTEXT(); $server->add_signature_method($hmac_method); $server->add_signature_method($plaintext_method); $req = OAuthRequest::from_request(); list($consumer, $token) = $server->verify_request($req); $data = $store->getAuthorizedData($token->key); echo json_encode($data);
<?php require_once dirname(dirname(__FILE__)) . '/libextinc/OAuth.php'; if (!array_key_exists('oauth_token', $_REQUEST)) { throw new Exception('Required URL parameter [oauth_token] is missing.'); } $requestToken = $_REQUEST['oauth_token']; $store = new sspmod_oauth_OAuthStore(); $server = new sspmod_oauth_OAuthServer($store); $hmac_method = new OAuthSignatureMethod_HMAC_SHA1(); $plaintext_method = new OAuthSignatureMethod_PLAINTEXT(); $server->add_signature_method($hmac_method); $server->add_signature_method($plaintext_method); $config = SimpleSAML_Configuration::getInstance(); $session = SimpleSAML_Session::getInstance(); $as = 'saml2'; if (!$session->isValid($as)) { SimpleSAML_Auth_Default::initLogin($as, SimpleSAML_Utilities::selfURL()); } $attributes = $session->getAttributes(); #print_r($attributes); $store->authorize($requestToken, $attributes); if (isset($_REQUEST['oauth_callback'])) { SimpleSAML_Utilities::redirect($_REQUEST['oauth_callback']); } else { $t = new SimpleSAML_XHTML_Template($config, 'oauth:authorized.php'); $t->data['header'] = '{status:header_saml20_sp}'; $t->data['remaining'] = $session->remainingTime(); $t->data['sessionsize'] = $session->getSize(); $t->data['attributes'] = $attributes; $t->data['logouturl'] = SimpleSAML_Utilities::selfURLNoQuery() . '?logout';
<?php require_once dirname(dirname(__FILE__)) . '/libextinc/OAuth.php'; try { $store = new sspmod_oauth_OAuthStore(); $server = new sspmod_oauth_OAuthServer($store); $hmac_method = new OAuthSignatureMethod_HMAC_SHA1(); $plaintext_method = new OAuthSignatureMethod_PLAINTEXT(); $rsa_method = new sspmod_oauth_OAuthSignatureMethodRSASHA1(); $server->add_signature_method($hmac_method); $server->add_signature_method($plaintext_method); $server->add_signature_method($rsa_method); $req = OAuthRequest::from_request(); $requestToken = $req->get_parameter('oauth_token'); $verifier = $req->get_parameter("oauth_verifier"); if ($verifier == null) { $verifier = ''; } if (!$store->isAuthorized($requestToken, $verifier)) { throw new Exception('Your request was not authorized. Request token [' . $requestToken . '] not found.'); } $accessToken = $server->fetch_access_token($req); $data = $store->moveAuthorizedData($requestToken, $verifier, $accessToken->key); echo $accessToken; } catch (Exception $e) { header('Content-type: text/plain; utf-8', TRUE, 500); header('OAuth-Error: ' . $e->getMessage()); print_r($e); }
<?php require_once dirname(dirname(__FILE__)) . '/libextinc/OAuth.php'; try { $oauthconfig = SimpleSAML_Configuration::getOptionalConfig('module_oauth.php'); if (!array_key_exists('oauth_token', $_REQUEST)) { throw new Exception('Required URL parameter [oauth_token] is missing.'); } $requestToken = $_REQUEST['oauth_token']; $store = new sspmod_oauth_OAuthStore(); $server = new sspmod_oauth_OAuthServer($store); $hmac_method = new OAuthSignatureMethod_HMAC_SHA1(); $plaintext_method = new OAuthSignatureMethod_PLAINTEXT(); $rsa_method = new sspmod_oauth_OAuthSignatureMethodRSASHA1(); $server->add_signature_method($hmac_method); $server->add_signature_method($plaintext_method); $server->add_signature_method($rsa_method); $config = SimpleSAML_Configuration::getInstance(); $session = SimpleSAML_Session::getSessionFromRequest(); $as = $oauthconfig->getString('auth'); if (!$session->isValid($as)) { SimpleSAML_Auth_Default::initLogin($as, SimpleSAML_Utilities::selfURL()); } if (!empty($_REQUEST['consent'])) { $consumer = $store->lookup_consumer_by_requestToken($requestToken); $t = new SimpleSAML_XHTML_Template($config, 'oauth:consent.php'); $t->data['header'] = '{status:header_saml20_sp}'; $t->data['consumer'] = $consumer; // array containint {name, description, key, secret, owner} keys $t->data['urlAgree'] = SimpleSAML_Utilities::addURLparameter(SimpleSAML_Utilities::selfURL(), array("consent" => "yes")); $t->data['logouturl'] = SimpleSAML_Utilities::selfURLNoQuery() . '?logout';