/** * @test * * @covers \Lcobucci\JWT\Configuration * @covers \Lcobucci\JWT\Builder * @covers \Lcobucci\JWT\Token * @covers \Lcobucci\JWT\Signature * @covers \Lcobucci\JWT\Claim\Factory * @covers \Lcobucci\JWT\Claim\Basic * @covers \Lcobucci\JWT\Signer\Key * @covers \Lcobucci\JWT\Signer\BaseSigner * @covers \Lcobucci\JWT\Signer\Hmac * @covers \Lcobucci\JWT\Signer\Hmac\Sha256 */ public function builderCanGenerateAToken() { $user = ['name' => 'testing', 'email' => '*****@*****.**']; $builder = $this->config->createBuilder(); $token = $builder->identifiedBy('1')->canOnlyBeUsedBy('http://client.abc.com')->issuedBy('http://api.abc.com')->with('user', $user)->withHeader('jki', '1234')->sign($this->config->getSigner(), new Key('testing'))->getToken(); self::assertAttributeInstanceOf(Signature::class, 'signature', $token); self::assertEquals('1234', $token->getHeader('jki')); self::assertEquals(['http://client.abc.com'], $token->getClaim('aud')); self::assertEquals('http://api.abc.com', $token->getClaim('iss')); self::assertEquals($user, $token->getClaim('user')); return $token; }
/** * @test * * @covers \Lcobucci\JWT\Configuration * @covers \Lcobucci\JWT\Builder * @covers \Lcobucci\JWT\Token * @covers \Lcobucci\JWT\Claim\Factory * @covers \Lcobucci\JWT\Claim\Basic */ public function builderCanGenerateAToken() { $user = ['name' => 'testing', 'email' => '*****@*****.**']; $builder = $this->config->createBuilder(); $token = $builder->identifiedBy('1')->canOnlyBeUsedBy('http://client.abc.com')->issuedBy('http://api.abc.com')->expiresAt(self::CURRENT_TIME + 3000)->with('user', $user)->getToken(); self::assertAttributeEquals(null, 'signature', $token); self::assertEquals(['http://client.abc.com'], $token->getClaim('aud')); self::assertEquals('http://api.abc.com', $token->getClaim('iss')); self::assertEquals(self::CURRENT_TIME + 3000, $token->getClaim('exp')); self::assertEquals($user, $token->getClaim('user')); return $token; }
/** * @test * * @covers \Lcobucci\JWT\Configuration * @covers \Lcobucci\JWT\Builder * @covers \Lcobucci\JWT\Token * @covers \Lcobucci\JWT\Signature * @covers \Lcobucci\JWT\Claim\Factory * @covers \Lcobucci\JWT\Claim\Basic * @covers \Lcobucci\JWT\Signer\Key * @covers \Lcobucci\JWT\Signer\BaseSigner * @covers \Lcobucci\JWT\Signer\Ecdsa * @covers \Lcobucci\JWT\Signer\Ecdsa\KeyParser * @covers \Lcobucci\JWT\Signer\Ecdsa\EccAdapter * @covers \Lcobucci\JWT\Signer\Ecdsa\SignatureSerializer * @covers \Lcobucci\JWT\Signer\Ecdsa\Sha256 */ public function everythingShouldWorkWithAKeyWithParams() { $builder = $this->config->createBuilder(); $signer = $this->config->getSigner(); $token = $builder->identifiedBy('1')->canOnlyBeUsedBy('http://client.abc.com')->issuedBy('http://api.abc.com')->with('user', ['name' => 'testing', 'email' => '*****@*****.**'])->withHeader('jki', '1234')->sign($signer, static::$ecdsaKeys['private-params'])->getToken(); self::assertTrue($token->verify($signer, static::$ecdsaKeys['public-params'])); }
/** * @test * * @covers \Lcobucci\JWT\Configuration::createBuilder * @covers \Lcobucci\JWT\Configuration::setEncoder * @covers \Lcobucci\JWT\Configuration::getEncoder * @covers \Lcobucci\JWT\Configuration::getClaimFactory * @covers \Lcobucci\JWT\Configuration::setClaimFactory * * @uses \Lcobucci\JWT\Builder * @uses \Lcobucci\JWT\Claim\Factory * @uses \Lcobucci\JWT\Parser */ public function createBuilderShouldCreateABuilderWithCustomizedEncoderAndClaimFactory() { $config = new Configuration(); $config->setEncoder($this->encoder); $config->setClaimFactory($this->claimFactory); $builder = $config->createBuilder(); self::assertInstanceOf(Builder::class, $builder); self::assertAttributeSame($this->encoder, 'encoder', $builder); self::assertAttributeSame($this->claimFactory, 'claimFactory', $builder); }