/**
* @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']));
}