$config = SimpleSAML_Configuration::getInstance(); $session = SimpleSAML_Session::getInstance(); $metaconfig = SimpleSAML_Configuration::getConfig('module_virtualorg.php'); $authsource = $metaconfig->getValue('auth', 'login-admin'); $useridattr = $metaconfig->getValue('useridattr', 'eduPersonPrincipalName'); if ($session->isValid($authsource)) { $attributes = $session->getAttributes(); // Check if userid exists if (!isset($attributes[$useridattr])) { throw new Exception('User ID is missing'); } $userid = $attributes[$useridattr][0]; } else { SimpleSAML_Auth_Default::initLogin($authsource, SimpleSAML_Utilities::selfURL()); } $vos = new sspmod_virtualorg_VOStorage(); if (!isset($_REQUEST['id'])) { throw new Exception('VO ID not provided.'); } if (!isset($_REQUEST['token'])) { throw new Exception('VO register token not provided.'); } $id = $_REQUEST['id']; # echo ('<pre>'); print_r($attributes); exit; $insertAttributes = array('displayName' => $attributes['cn'], 'mail' => $attributes['mail'], 'o' => $attributes['o']); $vometa = $vos->getVO($id); $token = sha1($metaconfig->getValue('secret') . '|' . $id . '|' . $vometa['secret']); if ($_REQUEST['token'] !== $token) { throw new Exception('VO Registration token was invalid.'); } $membership = $vos->getVOmembership($id, $userid);
<?php /* Load simpleSAMLphp, configuration and metadata */ $config = SimpleSAML_Configuration::getInstance(); $session = SimpleSAML_Session::getInstance(); $metaconfig = SimpleSAML_Configuration::getConfig('module_virtualorg.php'); $authsource = $metaconfig->getValue('auth', 'login-admin'); $useridattr = $metaconfig->getValue('useridattr', 'eduPersonPrincipalName'); if ($session->isValid($authsource)) { $attributes = $session->getAttributes(); // Check if userid exists if (!isset($attributes[$useridattr])) { throw new Exception('User ID is missing'); } $userid = $attributes[$useridattr][0]; } else { SimpleSAML_Auth_Default::initLogin($authsource, SimpleSAML_Utilities::selfURL()); } $vos = new sspmod_virtualorg_VOStorage(); // $vos->addVO('foobar', 'GEANT3 JRA2', 'Identity Federation group', '*****@*****.**', 'secret123'); // $vos->addMembership('foobar', '*****@*****.**', json_encode($attributes)); // // $attributes['o'] = array('GEANT', 'JRA3T2'); // $vos->updateMembership('foobar', '*****@*****.**', json_encode($attributes)); $volist = $vos->getVOlist($userid); // $vomembership = $vos->getVOmembership('foobar', '*****@*****.**'); $template = new SimpleSAML_XHTML_Template($config, 'virtualorg:volist.php'); $template->data['volist'] = $volist; $template->data['userid'] = $userid; $template->show();
$config = SimpleSAML_Configuration::getInstance(); $session = SimpleSAML_Session::getInstance(); $metaconfig = SimpleSAML_Configuration::getConfig('module_virtualorg.php'); $authsource = $metaconfig->getValue('auth', 'login-admin'); $useridattr = $metaconfig->getValue('useridattr', 'eduPersonPrincipalName'); if ($session->isValid($authsource)) { $attributes = $session->getAttributes(); // Check if userid exists if (!isset($attributes[$useridattr])) { throw new Exception('User ID is missing'); } $userid = $attributes[$useridattr][0]; } else { SimpleSAML_Auth_Default::initLogin($authsource, SimpleSAML_Utilities::selfURL()); } $vos = new sspmod_virtualorg_VOStorage(); if (!isset($_REQUEST['id'])) { throw new Exception('VO ID not provided.'); } if (!isset($_REQUEST['userid'])) { throw new Exception('User ID not provided.'); } $id = $_REQUEST['id']; $edituser = $_REQUEST['userid']; $vometa = $vos->getVO($id); if ($vometa['owner'] !== $userid) { throw new Exception('You are not the owner of this VO and cannot edit attributes.'); } $vomembership = $vos->getVOmembership($id, $edituser); $voattributes = json_decode($vomembership['attributes'], TRUE); if (isset($_POST['type']) && $_POST['type'] === 'edit') {
$config = SimpleSAML_Configuration::getInstance(); $session = SimpleSAML_Session::getInstance(); $metaconfig = SimpleSAML_Configuration::getConfig('module_virtualorg.php'); $authsource = $metaconfig->getValue('auth', 'login-admin'); $useridattr = $metaconfig->getValue('useridattr', 'eduPersonPrincipalName'); if ($session->isValid($authsource)) { $attributes = $session->getAttributes(); // Check if userid exists if (!isset($attributes[$useridattr])) { throw new Exception('User ID is missing'); } $userid = $attributes[$useridattr][0]; } else { SimpleSAML_Auth_Default::initLogin($authsource, SimpleSAML_Utilities::selfURL()); } $vos = new sspmod_virtualorg_VOStorage(); if (!isset($_REQUEST['id'])) { throw new Exception('VO ID not provided.'); } $id = $_REQUEST['id']; if (isset($_POST['type']) && $_POST['type'] === 'createnew') { if (!isset($_POST['name'])) { throw new Exception('VO name not provided.'); } $name = $_POST['name']; if (!isset($_POST['descr'])) { throw new Exception('VO descr not provided.'); } $descr = $_POST['descr']; $secret = SimpleSAML_Utilities::generateID(); $vos->addVO($id, $name, $descr, $userid, $secret);
<?php /* * OAuth section */ $config = SimpleSAML_Configuration::getInstance(); require_once $config->resolvePath('modules/oauth/libextinc/OAuth.php'); $oauthconfig = SimpleSAML_Configuration::getConfig('module_oauth.php'); $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); /* * ----------- */ $metaconfig = SimpleSAML_Configuration::getConfig('module_virtualorg.php'); $vos = new sspmod_virtualorg_VOStorage(); #if (!isset($_REQUEST['method'])) throw new Exception('Method parameter not provided'); #if ($method === 'memberOf') { $memberof = $vos->getVOmemberships($data['eduPersonPrincipalName'][0]); echo json_encode($memberof); exit; #}