Generating Signatures - GoREACT/widgets-js-api GitHub Wiki
Generating a signature using HMAC-SHA1:
hash_hmac('sha1', sorted_values, secret)
Generating a signature in PHP
$app_secret = 'password';
$request = array(
'api_key'=>'12345abc',
'user_id' => '5432b03462ccc7ea7bcc2c41',
'first_name' => 'Joe',
'last_name'=>'Xample',
'email'=>'[email protected]',
'context_id'=>1,
'context_name'=>'Group Name',
'context_role'=>'presenter',
'expires'=>time() + 180 // expires after 180 seconds
);
// sort payload by key
ksort($request);
// assemble query parts
$query_parts = array();
foreach ($request as $key => $value){
$query_parts[] = $key . '=' . rawurlencode($value);
}
$enc_request = rawurlencode( implode('&', $query_parts));
$signature = base64_encode(hash_hmac('sha1', $enc_request, $app_secret, true));