Advertisement
Guest User

Untitled

a guest
Dec 13th, 2019
116
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Perl 0.80 KB | None | 0 0
  1. sub signD2L {
  2.         my ($method, $path, $timestamp, $key) = @_;
  3.  
  4.         my $data = uc($method) . "&" . lc($path) . "&" . $timestamp;
  5.  
  6.         my $token = hmac_sha256_base64($data, $key);
  7.         $token =~ s/\+/\-/gi;
  8.         $token =~ s/\//_/gi;
  9.         $token =~ s/\=//gi;
  10.  
  11.         return($token);
  12. }
  13.  
  14. sub D2LbuildURL {
  15.         my ($path, $method, $getParams) = @_;
  16.  
  17.        my $timestamp = time;
  18.         my %d2l = D2LConfig();
  19.  
  20.         my $appSigned =  signD2L($method, $path, $timestamp, $d2l{appKey});
  21.         my $userSigned =  signD2L($method, $path, $timestamp, $d2l{userKey});
  22.  
  23.         my $url = $d2l{base} . $path . "?" . "x_t=$timestamp" . "&x_a=$d2l{appID}" . "&x_c=$appSigned" . "&x_b=$d2l{userID}" . "&x_d=$userSigned";
  24.  
  25.         $url .= $getParams;
  26.  
  27.         return($url);
  28. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement