public function getToken() : Token
{
$payload = [$this->encoder->base64UrlEncode($this->encoder->jsonEncode($this->headers)), $this->encoder->base64UrlEncode($this->encoder->jsonEncode($this->claims))];
if ($this->signature !== null) {
$payload[] = $this->encoder->base64UrlEncode((string) $this->signature);
}
return new Token($this->headers, $this->claims, $this->signature, $payload);
}