Add SMS support
Summary: Provides a working SMS implementation with support for Twilio. This version doesn't really retry if we get any gruff at all. Future versions should retry. Test Plan: used bin/sms to send messages and look at them. Reviewers: chad, epriestley Reviewed By: epriestley Subscribers: aurelijus, epriestley, Korvin Maniphest Tasks: T920 Differential Revision: https://secure.phabricator.com/D8930
This commit is contained in:
36
externals/twilio-php/Services/Twilio/RequestValidator.php
vendored
Executable file
36
externals/twilio-php/Services/Twilio/RequestValidator.php
vendored
Executable file
@@ -0,0 +1,36 @@
|
||||
<?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;
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user