/**
  * Get Client Assertion
  * Generates base64 Url safe client assertion
  * @param  string $get_token_url
  * @return string
  */
 public function get($getTokenUrl)
 {
     $clientAssertionHeader = array('alg' => $this->alg, 'x5t' => Office365::getThumbprint());
     $now = $this->now();
     $clientAssertionPayload = array('sub' => Office365::getClientId(), 'iss' => Office365::getClientId(), 'jti' => self::nonce(), 'exp' => $this->tenMinutesFromNow($now), 'nbf' => $now, 'aud' => $getTokenUrl);
     $assertionBlob = $this->getBlob($clientAssertionHeader, $clientAssertionPayload);
     $signature = $this->getSignature($assertionBlob);
     $clientAssertion = $assertionBlob . '.' . $signature;
     return $clientAssertion;
 }