当前位置: 首页>>代码示例>>PHP>>正文


PHP SimpleSAML_Logger::debug方法代码示例

本文整理汇总了PHP中SimpleSAML_Logger::debug方法的典型用法代码示例。如果您正苦于以下问题:PHP SimpleSAML_Logger::debug方法的具体用法?PHP SimpleSAML_Logger::debug怎么用?PHP SimpleSAML_Logger::debug使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在SimpleSAML_Logger的用法示例。


在下文中一共展示了SimpleSAML_Logger::debug方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: finalStep

 public function finalStep(&$state)
 {
     $requestToken = unserialize($state['requestToken']);
     #echo '<pre>'; print_r($requestToken); exit;
     $consumer = new sspmod_oauth_Consumer($this->key, $this->secret);
     SimpleSAML_Logger::debug("oauth: Using this request token [" . $requestToken->key . "] with the secret [" . $requestToken->secret . "]");
     // Replace the request token with an access token
     $accessToken = $consumer->getAccessToken('http://twitter.com/oauth/access_token', $requestToken);
     SimpleSAML_Logger::debug("Got an access token from the OAuth service provider [" . $accessToken->key . "] with the secret [" . $accessToken->secret . "]");
     $userdata = $consumer->getUserInfo('http://twitter.com/account/verify_credentials.json', $accessToken);
     $attributes = array();
     foreach ($userdata as $key => $value) {
         if (is_string($value)) {
             $attributes[$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']);
     }
     $state['Attributes'] = $attributes;
 }
开发者ID:hukumonline,项目名称:yii,代码行数:30,代码来源:Twitter.php

示例2: process

 /**
  * Apply filter to add groups attribute.
  *
  * @param array &$request  The current request
  */
 public function process(&$request)
 {
     assert('is_array($request)');
     assert('array_key_exists("Attributes", $request)');
     $groups = array();
     $attributes =& $request['Attributes'];
     $realm = self::getRealm($attributes);
     if ($realm !== NULL) {
         $groups[] = 'realm-' . $realm;
     }
     foreach ($this->generateGroupsFrom as $name) {
         if (!array_key_exists($name, $attributes)) {
             SimpleSAML_Logger::debug('GenerateGroups - attribute \'' . $name . '\' not found.');
             /* Attribute not present. */
             continue;
         }
         foreach ($attributes[$name] as $value) {
             $value = self::escapeIllegalChars($value);
             $groups[] = $name . '-' . $value;
             if ($realm !== NULL) {
                 $groups[] = $name . '-' . $realm . '-' . $value;
             }
         }
     }
     if (count($groups) > 0) {
         $attributes['groups'] = $groups;
     }
 }
开发者ID:danielkjfrog,项目名称:docker,代码行数:33,代码来源:GenerateGroups.php

示例3: finalStep

 public function finalStep(&$state)
 {
     $requestToken = $state['authtwitter:authdata:requestToken'];
     $parameters = array();
     if (!isset($_REQUEST['oauth_token'])) {
         throw new SimpleSAML_Error_BadRequest("Missing oauth_token parameter.");
     }
     if ($requestToken->key !== (string) $_REQUEST['oauth_token']) {
         throw new SimpleSAML_Error_BadRequest("Invalid oauth_token parameter.");
     }
     if (!isset($_REQUEST['oauth_verifier'])) {
         throw new SimpleSAML_Error_BadRequest("Missing oauth_verifier parameter.");
     }
     $parameters['oauth_verifier'] = (string) $_REQUEST['oauth_verifier'];
     $consumer = new sspmod_oauth_Consumer($this->key, $this->secret);
     SimpleSAML_Logger::debug("oauth: Using this request token [" . $requestToken->key . "] with the secret [" . $requestToken->secret . "]");
     // Replace the request token with an access token
     $accessToken = $consumer->getAccessToken('https://api.twitter.com/oauth/access_token', $requestToken, $parameters);
     SimpleSAML_Logger::debug("Got an access token from the OAuth service provider [" . $accessToken->key . "] with the secret [" . $accessToken->secret . "]");
     $userdata = $consumer->getUserInfo('https://api.twitter.com/1.1/account/verify_credentials.json', $accessToken);
     if (!isset($userdata['id_str']) || !isset($userdata['screen_name'])) {
         throw new SimpleSAML_Error_AuthSource($this->authId, 'Authentication error: id_str and screen_name not set.');
     }
     $attributes = array();
     foreach ($userdata as $key => $value) {
         if (is_string($value)) {
             $attributes['twitter.' . $key] = array((string) $value);
         }
     }
     $attributes['twitter_at_screen_name'] = array('@' . $userdata['screen_name']);
     $attributes['twitter_screen_n_realm'] = array($userdata['screen_name'] . '@twitter.com');
     $attributes['twitter_targetedID'] = array('http://twitter.com!' . $userdata['id_str']);
     $state['Attributes'] = $attributes;
 }
开发者ID:tractorcow,项目名称:simplesamlphp,代码行数:34,代码来源:Twitter.php

示例4: getSources

 /**
  * Returns a list of entities with metadata
  */
 public function getSources()
 {
     $sourcesDef = $this->aConfig->getArray('sources');
     try {
         $sources = SimpleSAML_Metadata_MetaDataStorageSource::parseSources($sourcesDef);
     } catch (Exception $e) {
         throw new Exception('Invalid aggregator source configuration for aggregator ' . var_export($id, TRUE) . ': ' . $e->getMessage());
     }
     #echo $exclude; exit;
     /* Find list of all available entities. */
     $entities = array();
     #echo '<pre>'; print_r($this->sets); exit;
     foreach ($sources as $source) {
         foreach ($this->sets as $set) {
             foreach ($source->getMetadataSet($set) as $entityId => $metadata) {
                 if (isset($metadata['tags']) && count(array_intersect($this->excludeTags, $metadata['tags'])) > 0) {
                     SimpleSAML_Logger::debug('Excluding entity ID [' . $entityId . '] becuase it is tagged with one of [' . var_export($this->excludeTags, TRUE) . ']');
                     continue;
                 } else {
                     #echo('<pre>'); print_r($metadata); exit;
                 }
                 if (!array_key_exists($entityId, $entities)) {
                     $entities[$entityId] = array();
                 }
                 if (array_key_exists($set, $entities[$entityId])) {
                     /* Entity already has metadata for the given set. */
                     continue;
                 }
                 $entities[$entityId][$set] = $metadata;
             }
         }
     }
     return $entities;
 }
开发者ID:hukumonline,项目名称:yii,代码行数:37,代码来源:Aggregator.php

示例5: handleResponse

function handleResponse()
{
    try {
        $binding = SAML2_Binding::getCurrentBinding();
        $response = $binding->receive();
    } catch (Exception $e) {
        return;
    }
    SimpleSAML_Logger::debug('attributequery - received message.');
    if (!$response instanceof SAML2_Response) {
        throw new SimpleSAML_Error_Exception('Unexpected message received to attribute query example.');
    }
    $idpEntityId = $response->getIssuer();
    if ($idpEntityId === NULL) {
        throw new SimpleSAML_Error_Exception('Missing issuer in response.');
    }
    $idpMetadata = $GLOBALS['metadata']->getMetaDataConfig($idpEntityId, 'saml20-idp-remote');
    $spMetadata = $GLOBALS['metadata']->getMetaDataConfig($GLOBALS['spEntityId'], 'saml20-sp-hosted');
    $assertion = sspmod_saml_Message::processResponse($spMetadata, $idpMetadata, $response);
    if (count($assertion) > 1) {
        throw new SimpleSAML_Error_Exception('More than one assertion in received response.');
    }
    $assertion = $assertion[0];
    $dataId = $response->getRelayState();
    if ($dataId === NULL) {
        throw new SimpleSAML_Error_Exception('RelayState was lost during request.');
    }
    $data = $GLOBALS['session']->getData('attributequeryexample:data', $dataId);
    $data['attributes'] = $assertion->getAttributes();
    $GLOBALS['session']->setData('attributequeryexample:data', $dataId, $data, 3600);
    SimpleSAML_Utilities::redirect(SimpleSAML_Utilities::selfURLNoQuery(), array('dataId' => $dataId));
}
开发者ID:emma5021,项目名称:toba,代码行数:32,代码来源:attributequery.php

示例6: getAttributes

 public function getAttributes($nameId, $spid, $attributes = array())
 {
     // Generate API key
     $time = new \DateTime();
     date_timezone_set($time, new \DateTimeZone('UTC'));
     $stamp = $time->format('Y-m-d H:i');
     $apiKey = hash('sha256', $this->as_config['hexaa_master_secret'] . $stamp);
     // Make the call
     // The data to send to the API
     $postData = array("apikey" => $apiKey, "fedid" => $nameId, "entityid" => $spid);
     // Setup cURL
     $ch = curl_init($this->as_config['hexaa_api_url'] . '/attributes.json');
     curl_setopt_array($ch, array(CURLOPT_CUSTOMREQUEST => "POST", CURLOPT_RETURNTRANSFER => TRUE, CURLOPT_HTTPHEADER => array('Content-Type: application/json'), CURLOPT_POSTFIELDS => json_encode($postData), CURLOPT_FOLLOWLOCATION => TRUE, CURLOPT_POSTREDIR => 3));
     // Send the request
     $response = curl_exec($ch);
     $http_response = curl_getinfo($ch, CURLINFO_HTTP_CODE);
     // Check for error; not even redirects are allowed here
     if ($response === FALSE || !($http_response >= 200 && $http_response < 300)) {
         SimpleSAML_Logger::error('[aa] HEXAA API query failed: HTTP response code: ' . $http_response . ', curl error: "' . curl_error($ch)) . '"';
         SimpleSAML_Logger::debug('[aa] HEXAA API query failed: curl info: ' . var_export(curl_getinfo($ch), 1));
         SimpleSAML_Logger::debug('[aa] HEXAA API query failed: HTTP response: ' . var_export($response, 1));
         $data = array();
     } else {
         $data = json_decode($response, true);
         SimpleSAML_Logger::info('[aa] got reply from HEXAA API');
         SimpleSAML_Logger::debug('[aa] HEXAA API query postData: ' . var_export($postData, TRUE));
         SimpleSAML_Logger::debug('[aa] HEXAA API query result: ' . var_export($data, TRUE));
     }
     return $data;
 }
开发者ID:niif,项目名称:simplesamlphp-module-hexaa,代码行数:30,代码来源:Hexaa.php

示例7: getAttributes

 public function getAttributes($nameId, $attributes = array())
 {
     // Set up config
     $config = $this->config;
     // Setup cURL
     $url = $this->as_config['api_url'] . '/' . $nameId;
     $ch = curl_init($url);
     curl_setopt_array($ch, array(CURLOPT_CUSTOMREQUEST => 'GET', CURLOPT_RETURNTRANSFER => true, CURLOPT_HTTPHEADER => array('Content-Type: application/json')));
     // Send the request
     $response = curl_exec($ch);
     $http_response = curl_getinfo($ch, CURLINFO_HTTP_CODE);
     // Check for error; not even redirects are allowed here
     if ($http_response == 507) {
         throw new SimpleSAML_Error_Exception("Out of resources: " . $response);
     } elseif ($response === false || !($http_response >= 200 && $http_response < 300)) {
         SimpleSAML_Logger::error('[afra] API query failed: HTTP response code: ' . $http_response . ', curl error: "' . curl_error($ch)) . '"';
         SimpleSAML_Logger::debug('[afra] API query failed: curl info: ' . var_export(curl_getinfo($ch), 1));
         SimpleSAML_Logger::debug('[afra] API query failed: HTTP response: ' . var_export($response, 1));
         throw new SimpleSAML_Error_Exception("Error at REST API response: " . $response . $http_response);
     } else {
         $data = json_decode($response, true);
         SimpleSAML_Logger::info('[afra] got reply from API');
         SimpleSAML_Logger::debug('[afra] API query url: ' . var_export($url, true));
         SimpleSAML_Logger::debug('[afra] API query result: ' . var_export($data, true));
     }
     $attributes = $data['data'];
     return $attributes;
 }
开发者ID:niif,项目名称:simplesamlphp-module-attributefromrestapi,代码行数:28,代码来源:AttributeFromRestApi.php

示例8: login

 /**
  * Attempt to log in using the given username and password.
  *
  * On a successful login, this function should return the username as 'uid' attribute,
  * and merged attributes from the configuration file.
  * On failure, it should throw an exception. A SimpleSAML_Error_Error('WRONGUSERPASS')
  * should be thrown in case of a wrong username OR a wrong password, to prevent the
  * enumeration of usernames.
  *
  * @param string $username  The username the user wrote.
  * @param string $password  The password the user wrote.
  * @return array  Associative array with the users attributes.
  */
 protected function login($username, $password)
 {
     assert('is_string($username)');
     assert('is_string($password)');
     foreach ($this->users as $userpass) {
         $matches = explode(':', $userpass, 2);
         if ($matches[0] == $username) {
             $crypted = $matches[1];
             // This is about the only attribute we can add
             $attributes = array_merge(array('uid' => array($username)), $this->attributes);
             // Traditional crypt(3)
             if (crypt($password, $crypted) == $crypted) {
                 SimpleSAML_Logger::debug('User ' . $username . ' authenticated successfully');
                 return $attributes;
             }
             // Apache's custom MD5
             if (SimpleSAML_Utils_Crypto::apr1Md5Valid($crypted, $password)) {
                 SimpleSAML_Logger::debug('User ' . $username . ' authenticated successfully');
                 return $attributes;
             }
             // SHA1 or plain-text
             if (SimpleSAML_Utils_Crypto::pwValid($crypted, $password)) {
                 SimpleSAML_Logger::debug('User ' . $username . ' authenticated successfully');
                 return $attributes;
             }
             throw new SimpleSAML_Error_Error('WRONGUSERPASS');
         }
     }
     throw new SimpleSAML_Error_Error('WRONGUSERPASS');
 }
开发者ID:danielkjfrog,项目名称:docker,代码行数:43,代码来源:Htpasswd.php

示例9: finalStep

 public function finalStep(&$state)
 {
     $requestToken = unserialize($state['requestToken']);
     #echo '<pre>'; print_r($requestToken); exit;
     $consumer = new sspmod_oauth_Consumer($this->key, $this->secret);
     SimpleSAML_Logger::debug("oauth: Using this request token [" . $requestToken->key . "] with the secret [" . $requestToken->secret . "]");
     // Replace the request token with an access token
     $accessToken = $consumer->getAccessToken('http://twitter.com/oauth/access_token', $requestToken);
     SimpleSAML_Logger::debug("Got an access token from the OAuth service provider [" . $accessToken->key . "] with the secret [" . $accessToken->secret . "]");
     $userdata = $consumer->getUserInfo('http://twitter.com/account/verify_credentials.json', $accessToken);
     $attributes = array();
     foreach ($userdata as $key => $value) {
         if (is_string($value)) {
             $attributes['twitter.' . $key] = array((string) $value);
         }
     }
     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;
 }
开发者ID:filonuse,项目名称:fedlab,代码行数:25,代码来源:Twitter.php

示例10: process

 /**
  * Apply this filter.
  *
  * @param array &$request  The current request
  */
 public function process(&$request)
 {
     assert('is_array($request)');
     assert('array_key_exists("Attributes", $request)');
     $attributes =& $request['Attributes'];
     if (!isset($attributes[$this->sourceAttribute])) {
         return;
     }
     // will not overwrite existing attribute
     if (isset($attributes[$this->targetAttribute])) {
         return;
     }
     $sourceAttrVal = $attributes[$this->sourceAttribute][0];
     /* the last position of an @ is usually the beginning of the scope
      * string */
     $scopeIndex = strrpos($sourceAttrVal, '@');
     if ($scopeIndex !== FALSE) {
         $attributes[$this->targetAttribute] = array();
         $scope = substr($sourceAttrVal, $scopeIndex + 1);
         $attributes[$this->targetAttribute][] = $scope;
         SimpleSAML_Logger::debug('ScopeFromAttribute: Inserted new attribute ' . $this->targetAttribute . ', with scope ' . $scope);
     } else {
         SimpleSAML_Logger::warning('ScopeFromAttribute: The configured source attribute ' . $this->sourceAttribute . ' does not have a scope. Did not add attribute ' . $this->targetAttribute . '.');
     }
 }
开发者ID:PitcherAG,项目名称:simplesamlphp,代码行数:30,代码来源:ScopeFromAttribute.php

示例11: authenticate

 /**
  * Log-in using Facebook cronus
  *
  * @param array &$state  Information about the current authentication.
  */
 public function authenticate(&$state)
 {
     assert('is_array($state)');
     /* We are going to need the authId in order to retrieve this authentication source later. */
     $state[self::AUTHID] = $this->authId;
     $stateID = SimpleSAML_Auth_State::saveState($state, self::STAGE_INIT);
     SimpleSAML_Logger::debug('facebook auth state id = ' . $stateID);
     $facebook = new Facebook($this->api_key, $this->secret);
     $u = $facebook->require_login(SimpleSAML_Module::getModuleUrl('authfacebook') . '/linkback.php?next=' . $stateID);
     # http://developers.facebook.com/documentation.php?v=1.0&method=users.getInfo
     /* Causes an notice / warning...
     		if ($facebook->api_client->error_code) {
     			throw new Exception('Unable to load profile from facebook');
     		}
     		*/
     // http://developers.facebook.com/docs/reference/rest/users.getInfo
     $info = $facebook->api_client->users_getInfo($u, array('uid', 'first_name', 'middle_name', 'last_name', 'name', 'locale', 'current_location', 'affiliations', 'pic_square', 'profile_url', 'sex', 'email', 'pic', 'username', 'about_me', 'status', 'profile_blurb'));
     $attributes = array();
     foreach ($info[0] as $key => $value) {
         if (is_string($value) && !empty($value)) {
             $attributes['facebook.' . $key] = array((string) $value);
         }
     }
     if (array_key_exists('username', $info[0])) {
         $attributes['facebook_user'] = array($info[0]['username'] . '@facebook.com');
     } else {
         $attributes['facebook_user'] = array($u . '@facebook.com');
     }
     $attributes['facebook_targetedID'] = array('http://facebook.com!' . $u);
     $attributes['facebook_cn'] = array($info[0]['name']);
     SimpleSAML_Logger::debug('Facebook Returned Attributes: ' . implode(", ", array_keys($attributes)));
     $state['Attributes'] = $attributes;
 }
开发者ID:hpgihan,项目名称:cronus,代码行数:38,代码来源:Facebook.php

示例12: login

 /**
  * Attempt to log in using the given username and password.
  *
  * @param string $username  The username the user wrote.
  * @param string $password  The password the user wrote.
  * @return array  Associative array with the users attributes.
  */
 protected function login($username, $password)
 {
     assert('is_string($username)');
     assert('is_string($password)');
     $curl_instance = curl_init();
     $escPassword = urlencode($password);
     $escUsername = urlencode($username);
     $url = $this->privacyideaserver . '/validate/samlcheck?user=' . $escUsername . '&pass=' . $escPassword . '&realm=' . $this->realm;
     //throw new Exception("url: ". $url);
     SimpleSAML_Logger::debug("privacyidea URL:" . $url);
     curl_setopt($curl_instance, CURLOPT_URL, $url);
     curl_setopt($curl_instance, CURLOPT_HEADER, TRUE);
     curl_setopt($curl_instance, CURLOPT_RETURNTRANSFER, TRUE);
     if ($this->sslverifyhost) {
         curl_setopt($curl_instance, CURLOPT_SSL_VERIFYHOST, 1);
     } else {
         curl_setopt($curl_instance, CURLOPT_SSL_VERIFYHOST, 0);
     }
     if ($this->sslverifypeer) {
         curl_setopt($curl_instance, CURLOPT_SSL_VERIFYPEER, 1);
     } else {
         curl_setopt($curl_instance, CURLOPT_SSL_VERIFYPEER, 0);
     }
     $response = curl_exec($curl_instance);
     $header_size = curl_getinfo($curl_instance, CURLINFO_HEADER_SIZE);
     $body = json_decode(substr($response, $header_size));
     $status = True;
     $value = True;
     try {
         $status = $body->result->status;
         $value = $body->result->value->auth;
     } catch (Exception $e) {
         throw new SimpleSAML_Error_BadRequest("We were not able to read the response from the privacyidea server:" . $e);
     }
     if (False === $status) {
         /* We got a valid JSON respnse, but the STATUS is false */
         throw new SimpleSAML_Error_BadRequest("Valid JSON response, but some internal error occured in privacyidea server.");
     } else {
         /* The STATUS is true, so we need to check the value */
         if (False === $value) {
             throw new SimpleSAML_Error_Error("WRONGUSERPASS");
         }
     }
     /* status and value are true
      * We can go on and fill attributes
      */
     /* If we get this far, we have a valid login. */
     $attributes = array();
     $arr = array("username", "surname", "email", "givenname", "mobile", "phone", "realm", "resolver");
     reset($arr);
     foreach ($arr as $key) {
         if (array_key_exists($key, $this->attributemap)) {
             $attributes[$this->attributemap[$key]] = array($body->result->value->attributes->{$key});
         } else {
             $attributes[$key] = array($body->result->value->attributes->{$key});
         }
     }
     return $attributes;
 }
开发者ID:Reality9,项目名称:privacyidea,代码行数:66,代码来源:privacyidea.php

示例13: cleanLogoutStore

 /**
  * Clean the logout table of expired entries.
  *
  * @param SimpleSAML_Store_SQL $store  The datastore.
  */
 private static function cleanLogoutStore(SimpleSAML_Store_SQL $store)
 {
     SimpleSAML_Logger::debug('saml.LogoutStore: Cleaning logout store.');
     $query = 'DELETE FROM ' . $store->prefix . '_saml_LogoutStore WHERE _expire < :now';
     $params = array('now' => gmdate('Y-m-d H:i:s'));
     $query = $store->pdo->prepare($query);
     $query->execute($params);
 }
开发者ID:rchavik,项目名称:simplesamlphp,代码行数:13,代码来源:LogoutStore.php

示例14: log

 public function log($str)
 {
     if ($this->debugOutput) {
         echo '<p>' . $str;
     } else {
         SimpleSAML_Logger::debug($str);
     }
     flush();
 }
开发者ID:hukumonline,项目名称:yii,代码行数:9,代码来源:Tester.php

示例15: serve

 public function serve($entityId)
 {
     if (!$this->_loadEntity($entityId)) {
         SimpleSAML_Logger::debug('No entity found!');
         return $this->_sendResponse();
     }
     $this->_checkMetadataValidity();
     return $this->_sendResponse();
 }
开发者ID:baszoetekouw,项目名称:janus,代码行数:9,代码来源:get-entity-metadata-validations.php


注:本文中的SimpleSAML_Logger::debug方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。