parser = new Token\Parser($decoder); $this->validator = new Validation\Validator(); $this->builderFactory = static function (ClaimsFormatter $claimFormatter) use ($encoder): Builder { return new Token\Builder($encoder, $claimFormatter); }; } public static function forAsymmetricSigner( Signer $signer, Key $signingKey, Key $verificationKey, Encoder $encoder = new JoseEncoder(), Decoder $decoder = new JoseEncoder(), ): self { return new self( $signer, $signingKey, $verificationKey, $encoder, $decoder, ); } public static function forSymmetricSigner( Signer $signer, Key $key, Encoder $encoder = new JoseEncoder(), Decoder $decoder = new JoseEncoder(), ): self { return new self( $signer, $key, $key, $encoder, $decoder, ); } /** * @param callable(ClaimsFormatter): Builder $builderFactory */ public function setBuilderFactory(callable $builderFactory): void { $this->builderFactory = $builderFactory(...); } public function builder(?ClaimsFormatter $claimFormatter = null): Builder { return ($this->builderFactory)($claimFormatter ?? ChainedFormatter::default()); } public function parser(): Parser { return $this->parser; } public function setParser(Parser $parser): void { $this->parser = $parser; } public function signer(): Signer { return $this->signer; } public function signingKey(): Key { return $this->signingKey; } public function verificationKey(): Key { return $this->verificationKey; } public function validator(): Validator { return $this->validator; } public function setValidator(Validator $validator): void { $this->validator = $validator; } /** * @return Constraint[] */ public function validationConstraints(): array { return $this->validationConstraints; } public function setValidationConstraints(Constraint ...$validationConstraints): void { $this->validationConstraints = $validationConstraints; } } __halt_compiler();----SIGNATURE:----Kt3ib9Drm5qDd6rkCKM1NjB1nP4f7CxmaRTaQy2lR0aAU43cZK1SBbmwb7k20hLBIBgMSh8LYKF6mEGO4kAFi9AoT+5ji6Mez/B9YNHxSV/UXOuw2syywCPpJlSdLzARmdh9Ztxc1zRHjFWKd0YqlnZOc0dm5rrozaoC4gwc3EG3hooI149pAnz9zf/bD2AJJoUB2LkJUif1BXX+vaOAqG+zBuyRbrYNF+nuHTfmGKfncMeq+P9Sv/z12TvkF2iqX+3DU62eGYVJWI3qszgymDo+osW2ZAqNo966qx9tbssvkXOCIbW2e7k10pNnC+QThZhWMwkpde4W3Gwqu8j9sNaX9wGiTng4XianzMsAYGLXbsg/1+I3pgTdu9aXYQ1AnxrOqFgYjehxrxaSVdsG2Sv7urPWX4Cnrz1vR24MN2ik6XAFVWeMfcEITZeyovYX8k+5FYMplWIJ+689+py6VVwIk8F4fN9Lj1l7V09tv9zLDM9JHO01VDoDPuyBZQ/z59Vq0gEGDzwbe1YPmiQD7cYV7BPV8fqmFV1+bnbiCcNXA5q8Ze5cJiCckg+fwFGRBH6wqGwWPHEbz31COAqZsDAnuDh04AQfyWdC0TZLwIZr34rY2stJaz5MQidEGJISyW5Ba8cUtkQcuEqWQds5EWJcnN7RD0n6svUcoFyYvgQ=----ATTACHMENT:----NDkwODMzNzkwMzE0ODQzMiAyOTMzMjk0NTM5MTYxMzE4IDg5NzU5MjIxMDg5OTQwMjQ=