/** * @dataProvider storageNonScalarDataProvider */ public function testGetWillReturnScalarCastDefaultValueOnNonExistingKey($nonScalar, $expectedScalar) { self::assertSame($expectedScalar, DefaultSessionData::newEmptySession()->get('key', $nonScalar)); }
/** * @dataProvider validMiddlewaresProvider */ public function testWillNotRefreshSignedTokensWithoutIssuedAt(SessionMiddleware $middleware) { $unsignedToken = (new ServerRequest())->withCookieParams([SessionMiddleware::DEFAULT_COOKIE => (string) (new Builder())->setExpiration((new \DateTime('+1 day'))->getTimestamp())->set(SessionMiddleware::SESSION_CLAIM, DefaultSessionData::newEmptySession())->sign($this->getSigner($middleware), $this->getSignatureKey($middleware))->getToken()]); $this->ensureSameResponse($middleware, $unsignedToken, $this->emptyValidationMiddleware()); }
/** * @param Token|null $token * * @return SessionInterface */ public function extractSessionContainer(Token $token = null) : SessionInterface { try { if (null === $token || !$token->verify($this->signer, $this->verificationKey)) { return DefaultSessionData::newEmptySession(); } return DefaultSessionData::fromDecodedTokenData((object) $token->getClaim(self::SESSION_CLAIM, new \stdClass())); } catch (\BadMethodCallException $invalidToken) { return DefaultSessionData::newEmptySession(); } }