public function __toString() { return $this->token->getToken()->__toString(); }
// Generate new JSON Web Token. $builder = new JWT\Builder(); $builder ->setNotBefore(time()) ->setIssuer($request->getSchemeAndHttpHost()) ->setId($user['_id']->{'$id'}) ; foreach (['name', 'email', 'given_name', 'family_name', 'email_verified', 'gender'] as $field) { $builder->set($field, $user[$field]); } $builder->sign(new JWT\Signer\Rsa\Sha256(), $privateKey); $token = $builder->getToken(); return new Response($token, 200, ['Access-Control-Allow-Origin' => '*', 'Content-Type' => 'application/jwt']); }); $app->get('/images', function(Request $request) use($app, $images) { $image = $images->find()->sort(['date' => -1]); $images = []; while ($next = $image->getNext()) { $images[] = ImageData::fromDb($request, $next); } return new JsonResponse($images, 200, ['Access-Control-Allow-Origin' => '*']); }); $app->get('/files/{id}', function($id) use($app, $images, $gridfs) {
/** * @return string JWT string */ public function getTokenString() : string { /** * Build Token */ $builder = new Builder(); $builder->setIssuer(self::ISSUER); $builder->setExpiration((new \DateTime($this->configuration->get('Cookie.TTL')))->getTimestamp()); foreach ($this->values as $key => $value) { $builder->set($key, $value); } /** * Sign and generate new token */ $builder->sign(new Sha256(), $this->configuration->get('Cookie.Signer.Key')); $token = $builder->getToken(); return (string) $token; }