/** * {@inheritdoc} */ public function decode($token) { $parser = new Parser(); $token = $parser->parse($token); try { if (true === $token->verify(new Sha512(), $this->secret)) { $serializer = new Serializer(); $deserializer = new Deserializer(); $claims = $token->getClaims(); return (array) $deserializer->fromJSON($serializer->toJSON($claims)); } else { return false; } } catch (\BadMethodCallException $e) { return false; } }
/** * Returns the resultant token * * @return Token */ public function getToken() { $payload = array($this->serializer->toBase64URL($this->serializer->toJSON($this->headers)), $this->serializer->toBase64URL($this->serializer->toJSON($this->claims))); if ($this->signature !== null) { $payload[] = $this->serializer->toBase64URL($this->signature); } return new Token($this->headers, $this->claims, $this->signature, $payload); }