Viewing file: signatureValidation.php (984 B) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
namespace Plivo\Util;
/** * Class signatureValidation * @package Plivo\Util */ class signatureValidation { /** * Return an array without keys with null values * * @param array $array * @return array */ public static function validateSignature($uri, $nonce, $signature, $auth_token='') { $nonce = utf8_encode($nonce); $signature = utf8_encode($signature); $auth_token = utf8_encode($auth_token); $uri = utf8_encode($uri); $port = ''; $parsed_uri = parse_url($uri); $base_url = $parsed_uri['scheme'].'://'.$parsed_uri['host']; if (isset($parsed_uri['port'])) { $base_url .= ':'.$parsed_uri['port']; } if (isset($parsed_uri['path'])) { $base_url .= $parsed_uri['path']; } $hmac = hash_hmac('SHA256', $base_url.$nonce, $auth_token, true); $authentication_string = base64_encode($hmac); return $authentication_string == $signature; } }
|