Changeset View
Changeset View
Standalone View
Standalone View
externals/twilio-php/Services/Twilio/RequestValidator.php
- This file was added.
| Property | Old Value | New Value |
|---|---|---|
| File Mode | null | 100755 |
| <?php | |||||
| class Services_Twilio_RequestValidator | |||||
| { | |||||
| protected $AuthToken; | |||||
| function __construct($token) | |||||
| { | |||||
| $this->AuthToken = $token; | |||||
| } | |||||
| public function computeSignature($url, $data = array()) | |||||
| { | |||||
| // sort the array by keys | |||||
| ksort($data); | |||||
| // append them to the data string in order | |||||
| // with no delimiters | |||||
| foreach($data as $key => $value) | |||||
| $url .= "$key$value"; | |||||
| // This function calculates the HMAC hash of the data with the key | |||||
| // passed in | |||||
| // Note: hash_hmac requires PHP 5 >= 5.1.2 or PECL hash:1.1-1.5 | |||||
| // Or http://pear.php.net/package/Crypt_HMAC/ | |||||
| return base64_encode(hash_hmac("sha1", $url, $this->AuthToken, true)); | |||||
| } | |||||
| public function validate($expectedSignature, $url, $data = array()) | |||||
| { | |||||
| return $this->computeSignature($url, $data) | |||||
| == $expectedSignature; | |||||
| } | |||||
| } | |||||