ttl; $token = JWT::encode([ 'sub' => (int) $user['id'], 'email' => $user['email'], 'iat' => $issuedAt, 'exp' => $expiresAt, ], $this->secret, self::ALGORITHM); return [ 'token' => $token, 'expires_at' => gmdate('c', $expiresAt), ]; } /** * @return array The decoded claims. * * @throws \Firebase\JWT\ExpiredException * @throws \Firebase\JWT\SignatureInvalidException * @throws \UnexpectedValueException */ public function verify(string $token): array { return (array) JWT::decode($token, new Key($this->secret, self::ALGORITHM)); } }