3 namespace Packback\Lti1p3
;
5 use Packback\Lti1p3\Interfaces\ILtiRegistration
;
7 class LtiRegistration
implements ILtiRegistration
12 private $authTokenUrl;
13 private $authLoginUrl;
15 private $toolPrivateKey;
18 public function __construct(array $registration = [])
20 $this->issuer
= $registration['issuer'] ??
null;
21 $this->clientId
= $registration['clientId'] ??
null;
22 $this->keySetUrl
= $registration['keySetUrl'] ??
null;
23 $this->authTokenUrl
= $registration['authTokenUrl'] ??
null;
24 $this->authLoginUrl
= $registration['authLoginUrl'] ??
null;
25 $this->authServer
= $registration['authServer'] ??
null;
26 $this->toolPrivateKey
= $registration['toolPrivateKey'] ??
null;
27 $this->kid
= $registration['kid'] ??
null;
30 public static function new(array $registration = [])
32 return new LtiRegistration($registration);
35 public function getIssuer()
40 public function setIssuer($issuer)
42 $this->issuer
= $issuer;
47 public function getClientId()
49 return $this->clientId
;
52 public function setClientId($clientId)
54 $this->clientId
= $clientId;
59 public function getKeySetUrl()
61 return $this->keySetUrl
;
64 public function setKeySetUrl($keySetUrl)
66 $this->keySetUrl
= $keySetUrl;
71 public function getAuthTokenUrl()
73 return $this->authTokenUrl
;
76 public function setAuthTokenUrl($authTokenUrl)
78 $this->authTokenUrl
= $authTokenUrl;
83 public function getAuthLoginUrl()
85 return $this->authLoginUrl
;
88 public function setAuthLoginUrl($authLoginUrl)
90 $this->authLoginUrl
= $authLoginUrl;
95 public function getAuthServer()
97 return empty($this->authServer
) ?
$this->authTokenUrl
: $this->authServer
;
100 public function setAuthServer($authServer)
102 $this->authServer
= $authServer;
107 public function getToolPrivateKey()
109 return $this->toolPrivateKey
;
112 public function setToolPrivateKey($toolPrivateKey)
114 $this->toolPrivateKey
= $toolPrivateKey;
119 public function getKid()
121 return $this->kid ??
hash('sha256', trim($this->issuer
.$this->clientId
));
124 public function setKid($kid)