AutorÃa | Ultima modificación | Ver Log |
<?php declare(strict_types=1);namespace EduSharingApiClient;/*** Class EduSharingHelperAbstract** @author Torsten Simon <simon@edu-sharing.net>*/abstract class EduSharingHelperAbstract{public EduSharingHelperBase $base;/*** EduSharingHelperAbstract constructor** @param EduSharingHelperBase $base*/public function __construct(EduSharingHelperBase $base) {$this->base = $base;}/*** Function getRESTAuthenticationHeader** Generates the header to use for a given ticket to authenticate with any edu-sharing api endpoint* @param string $ticket* The ticket, obtained by @getTicketForUser* @return string*/public function getRESTAuthenticationHeader(string $ticket): string {return 'Authorization: EDU-TICKET ' . $ticket;}/*** Function getSignatureHeaders** @param string $signString* @param string $accept* @param string $contentType* @return string[]*/protected function getSignatureHeaders(string $signString, string $accept = 'application/json', string $contentType = 'application/json'): array {$ts = time() * 1000;$toSign = $this->base->appId . $signString . $ts;$signature = $this->sign($toSign);return ['Accept: ' . $accept,'Content-Type: ' . $contentType,'X-Edu-App-Id: ' . $this->base->appId,'X-Edu-App-Signed: ' . $toSign,'X-Edu-App-Sig: ' . $signature,'X-Edu-App-Ts: ' . $ts,];}/*** Function sign** @param string $toSign* @return string*/protected function sign(string $toSign): string {return $this->base->sign($toSign);}}