Upgrading lcobucci/jwt 3 to 4
Unknown3.4.6 → 4.3.0
Fetching 18 releases from GitHub…0 / 18
UnknownUpgrade verdict
DepDelta is still reading the notes for this range, so breaking changes can't be ruled out yet.
In plain terms
- DepDelta is still reading the release notes in this range, so it can't rule out breaking changes yet.
- This page updates as the notes come in.
Must act Still reading release notes
DepDelta is still reading the release notes in this range. This updates as they come in.
PHP requirement changed in 4.0.0-beta1: ^5.6 || ^7.0 → ^7.4 || ^8.0.
Adds lcobucci/clock ^2.0 || ^3.0.
API changes
Generated by DepDelta from published PHP source. Not mixed with prose notes.
- removed:
constructor FrozenClock(DateTimeImmutable $now) - removed:
constructor SystemClock(DateTimeZone $timezone) - removed:
final class FrozenClock implements Clock - removed:
final class SystemClock implements Clock - removed:
interface Clock - removed:
method Clock.now() - removed:
method FrozenClock.now() - removed:
method FrozenClock.setTo(DateTimeImmutable $now) - removed:
method SystemClock.now() - removed:
static method FrozenClock.fromUTC() - removed:
static method SystemClock.fromSystemTimezone() - removed:
static method SystemClock.fromUTC()
- removed:
class Builder - removed:
class Parser - removed:
class Signature - removed:
class Token - removed:
class ValidationData - removed:
constructor Builder(Encoder $encoder = …, ClaimFactory $claimFactory = …) - removed:
constructor Parser(Decoder $decoder = …) - removed:
constructor Signature($hash, $encoded = …) - removed:
constructor Token($headers = …, $claims = …, Signature $signature = …, array $payload = …, Factory $claimFactory = …) - removed:
constructor ValidationData($currentTime = …, $leeway = …) - removed:
interface Claim extends JsonSerializable - removed:
interface Exception extends \Throwable - removed:
method Builder.canOnlyBeUsedBy($audience, $replicateAsHeader = …) - removed:
method Builder.set($name, $value) - removed:
method Builder.setAudience($audience, $replicateAsHeader = …) - removed:
method Builder.setExpiration($expiration, $replicateAsHeader = …) - removed:
method Builder.setHeader($name, $value) - removed:
method Builder.setId($id, $replicateAsHeader = …) - removed:
method Builder.setIssuedAt($issuedAt, $replicateAsHeader = …) - removed:
method Builder.setIssuer($issuer, $replicateAsHeader = …) - removed:
method Builder.setNotBefore($notBefore, $replicateAsHeader = …) - removed:
method Builder.setSubject($subject, $replicateAsHeader = …) - removed:
method Builder.sign(Signer $signer, $key) - removed:
method Builder.unsign() - removed:
method Builder.with($name, $value) - removed:
method Claim.__toString() - removed:
method Claim.getName() - removed:
method Claim.getValue() - removed:
method Signature.__toString() - removed:
method Signature.hash() - removed:
method Signature.toString() - removed:
method Signature.verify(Signer $signer, $payload, $key) - removed:
method Signer.getAlgorithmId() - removed:
method Signer.modifyHeader(array &$headers) - removed:
method Token.__toString() - removed:
method Token.claims() - removed:
method Token.getClaim($name, $default = …) - removed:
method Token.getClaims() - removed:
method Token.getHeader($name, $default = …) - removed:
method Token.getHeaders() - removed:
method Token.getPayload() - removed:
method Token.hasClaim($name) - removed:
method Token.hasHeader($name) - removed:
method Token.payload() - removed:
method Token.signature() - removed:
method Token.validate(ValidationData $data) - removed:
method Token.verify(Signer $signer, $key) - removed:
method ValidationData.get($name) - removed:
method ValidationData.has($name) - removed:
method ValidationData.setAudience($audience) - removed:
method ValidationData.setCurrentTime($currentTime) - removed:
method ValidationData.setId($id) - removed:
method ValidationData.setIssuer($issuer) - removed:
method ValidationData.setSubject($subject) - removed:
protected method Builder.setRegisteredClaim($name, $value, $replicate) - removed:
protected method Parser.parseClaims($data) - removed:
protected method Parser.parseHeader($data) - removed:
protected method Parser.parseSignature(array $header, $data) - removed:
protected method Parser.splitJwt($jwt) - removed:
protected property Signature.hash - removed:
static method Signature.fromEmptyData() - changed:
interface Exception → interface Exception extends Throwable - changed:
method Builder.canOnlyBeUsedAfter($notBefore, $replicateAsHeader = …) → method Builder.canOnlyBeUsedAfter(DateTimeImmutable $notBefore): Builder - changed:
method Builder.expiresAt($expiration, $replicateAsHeader = …) → method Builder.expiresAt(DateTimeImmutable $expiration): Builder - changed:
method Builder.getToken(Signer $signer = …, Key $key = …) → method Builder.getToken(Signer $signer, Key $key): Plain - changed:
method Builder.identifiedBy($id, $replicateAsHeader = …) → method Builder.identifiedBy(string $id): Builder - changed:
method Builder.issuedAt($issuedAt, $replicateAsHeader = …) → method Builder.issuedAt(DateTimeImmutable $issuedAt): Builder - changed:
method Builder.issuedBy($issuer, $replicateAsHeader = …) → method Builder.issuedBy(string $issuer): Builder - changed:
method Builder.permittedFor(...$audiences) → method Builder.permittedFor(string ...$audiences): Builder - changed:
method Builder.relatedTo($subject, $replicateAsHeader = …) → method Builder.relatedTo(string $subject): Builder - changed:
method Builder.withClaim($name, $value) → method Builder.withClaim(string $name, $value): Builder - changed:
method Builder.withHeader($name, $value) → method Builder.withHeader(string $name, $value): Builder - changed:
method Configuration.builder() → method Configuration.builder(?ClaimsFormatter $claimFormatter = …): Builder - changed:
method Configuration.parser() → method Configuration.parser(): Parser - changed:
method Configuration.setBuilderFactory(callable $builderFactory) → method Configuration.setBuilderFactory(callable $builderFactory): void - changed:
method Configuration.setParser(Parser $parser) → method Configuration.setParser(Parser $parser): void - changed:
method Configuration.setValidationConstraints(Constraint ...$validationConstraints) → method Configuration.setValidationConstraints(Constraint ...$validationConstraints): void - changed:
method Configuration.setValidator(Validator $validator) → method Configuration.setValidator(Validator $validator): void - changed:
method Configuration.signer() → method Configuration.signer(): Signer - changed:
method Configuration.signingKey() → method Configuration.signingKey(): Key - changed:
method Configuration.validationConstraints() → method Configuration.validationConstraints(): array - changed:
method Configuration.validator() → method Configuration.validator(): Validator - changed:
method Configuration.verificationKey() → method Configuration.verificationKey(): Key - changed:
method Parser.parse($jwt) → method Parser.parse(string $jwt): Token - changed:
method Signer.sign($payload, $key) → method Signer.sign(string $payload, Key $key): string - changed:
method Signer.verify($expected, $payload, $key) → method Signer.verify(string $expected, string $payload, Key $key): bool - changed:
method Token.hasBeenIssuedBefore(DateTimeInterface $now) → method Token.hasBeenIssuedBefore(DateTimeInterface $now): bool - changed:
method Token.hasBeenIssuedBy(...$issuers) → method Token.hasBeenIssuedBy(string ...$issuers): bool - changed:
method Token.headers() → method Token.headers(): DataSet - changed:
method Token.isExpired(DateTimeInterface $now = …) → method Token.isExpired(DateTimeInterface $now): bool - changed:
method Token.isIdentifiedBy($id) → method Token.isIdentifiedBy(string $id): bool - changed:
method Token.isMinimumTimeBefore(DateTimeInterface $now) → method Token.isMinimumTimeBefore(DateTimeInterface $now): bool - changed:
method Token.isPermittedFor($audience) → method Token.isPermittedFor(string $audience): bool - changed:
method Token.isRelatedTo($subject) → method Token.isRelatedTo(string $subject): bool - changed:
method Token.toString() → method Token.toString(): string - changed:
method Validator.assert(Token $token, Constraint ...$constraints) → method Validator.assert(Token $token, Constraint ...$constraints): void - changed:
method Validator.validate(Token $token, Constraint ...$constraints) → method Validator.validate(Token $token, Constraint ...$constraints): bool - changed:
static method Configuration.forAsymmetricSigner(Signer $signer, Key $signingKey, Key $verificationKey, Encoder $encoder = …, Decoder $decoder = …) → static method Configuration.forAsymmetricSigner(Signer $signer, Key $signingKey, Key $verificationKey, ?Encoder $encoder = …, ?Decoder $decoder = …): self - changed:
static method Configuration.forSymmetricSigner(Signer $signer, Key $key, Encoder $encoder = …, Decoder $decoder = …) → static method Configuration.forSymmetricSigner(Signer $signer, Key $key, ?Encoder $encoder = …, ?Decoder $decoder = …): self - changed:
static method Configuration.forUnsecuredSigner(Encoder $encoder = …, Decoder $decoder = …) → static method Configuration.forUnsecuredSigner(?Encoder $encoder = …, ?Decoder $decoder = …): self - added:
const SodiumBase64Polyfill.SODIUM_BASE64_VARIANT_ORIGINAL - added:
const SodiumBase64Polyfill.SODIUM_BASE64_VARIANT_ORIGINAL_NO_PADDING - added:
const SodiumBase64Polyfill.SODIUM_BASE64_VARIANT_URLSAFE - added:
const SodiumBase64Polyfill.SODIUM_BASE64_VARIANT_URLSAFE_NO_PADDING - added:
constructor JwtFacade(?Parser $parser = …, ?Clock $clock = …) - added:
final class JwtFacade - added:
final class SodiumBase64Polyfill - added:
interface Builder - added:
interface ClaimsFormatter - added:
interface Decoder - added:
interface Encoder - added:
interface Parser - added:
interface Token - added:
interface UnencryptedToken extends Token - added:
method ClaimsFormatter.formatClaims(array $claims): array - added:
method Decoder.base64UrlDecode(string $data): string - added:
method Decoder.jsonDecode(string $json) - added:
method Encoder.base64UrlEncode(string $data): string - added:
method Encoder.jsonEncode($data): string - added:
method JwtFacade.issue(Signer $signer, Key $signingKey, Closure $customiseBuilder): UnencryptedToken - added:
method JwtFacade.parse(string $jwt, SignedWith $signedWith, ValidAt $validAt, Constraint ...$constraints): UnencryptedToken - added:
method Signer.algorithmId(): string - added:
method UnencryptedToken.claims(): DataSet - added:
method UnencryptedToken.payload(): string - added:
method UnencryptedToken.signature(): Signature - added:
static method SodiumBase64Polyfill.base642bin(string $encoded, int $variant): string - added:
static method SodiumBase64Polyfill.base642binFallback(string $encoded, int $variant): string - added:
static method SodiumBase64Polyfill.bin2base64(string $decoded, int $variant): string - added:
static method SodiumBase64Polyfill.bin2base64Fallback(string $decoded, int $variant): string
- removed:
class Basic implements Claim - removed:
class EqualsTo extends Basic implements Claim, Validatable - removed:
class Factory - removed:
class GreaterOrEqualsTo extends Basic implements Claim, Validatable - removed:
class LesserOrEqualsTo extends Basic implements Claim, Validatable - removed:
constructor Basic($name, $value) - removed:
constructor Factory(array $callbacks = …) - removed:
interface Validatable - removed:
method Basic.__toString() - removed:
method Basic.getName() - removed:
method Basic.getValue() - removed:
method Basic.jsonSerialize() - removed:
method EqualsTo.validate(ValidationData $data) - removed:
method Factory.create($name, $value) - removed:
method GreaterOrEqualsTo.validate(ValidationData $data) - removed:
method LesserOrEqualsTo.validate(ValidationData $data) - removed:
method Validatable.validate(ValidationData $data)
- changed:
static method CannotDecodeContent.invalidBase64String() → static method CannotDecodeContent.invalidBase64String(): self - changed:
static method CannotDecodeContent.jsonIssues(JsonException $previous) → static method CannotDecodeContent.jsonIssues(JsonException $previous): self - changed:
static method CannotEncodeContent.jsonIssues(JsonException $previous) → static method CannotEncodeContent.jsonIssues(JsonException $previous): self - added:
constructor ChainedFormatter(ClaimsFormatter ...$formatters) - added:
final class ChainedFormatter implements ClaimsFormatter - added:
final class JoseEncoder implements Encoder, Decoder - added:
final class MicrosecondBasedDateConversion implements ClaimsFormatter - added:
final class UnifyAudience implements ClaimsFormatter - added:
final class UnixTimestampDates implements ClaimsFormatter - added:
method ChainedFormatter.formatClaims(array $claims): array - added:
method JoseEncoder.base64UrlDecode(string $data): string - added:
method JoseEncoder.base64UrlEncode(string $data): string - added:
method JoseEncoder.jsonDecode(string $json) - added:
method JoseEncoder.jsonEncode($data): string - added:
method MicrosecondBasedDateConversion.formatClaims(array $claims): array - added:
method UnifyAudience.formatClaims(array $claims): array - added:
method UnixTimestampDates.formatClaims(array $claims): array - added:
static method ChainedFormatter.default(): self - added:
static method ChainedFormatter.withUnixTimestampDates(): self
- removed:
class Decoder - removed:
class Encoder - removed:
method Decoder.base64UrlDecode($data) - removed:
method Decoder.jsonDecode($json) - removed:
method Encoder.base64UrlEncode($data) - removed:
method Encoder.jsonEncode($data)
- removed:
abstract class BaseSigner implements Signer - removed:
class Key - removed:
class Keychain - removed:
constructor Key($content, $passphrase = …) - removed:
method BaseSigner.createHash($payload, Key $key) - removed:
method BaseSigner.doVerify($expected, $payload, Key $key) - removed:
method BaseSigner.modifyHeader(array &$headers) - removed:
method BaseSigner.sign($payload, $key) - removed:
method BaseSigner.verify($expected, $payload, $key) - removed:
method Ecdsa.createHash($payload, Key $key) - removed:
method Ecdsa.doVerify($expected, $payload, Key $key) - removed:
method Ecdsa.getKeyLength() - removed:
method Ecdsa.getKeyType() - removed:
method Hmac.createHash($payload, Key $key) - removed:
method Hmac.doVerify($expected, $payload, Key $key) - removed:
method Hmac.getAlgorithm() - removed:
method Key.getContent() - removed:
method Key.getPassphrase() - removed:
method Keychain.getPrivateKey($key, $passphrase = …) - removed:
method Keychain.getPublicKey($certificate) - removed:
method None.createHash($payload, Key $key) - removed:
method None.doVerify($expected, $payload, Key $key) - removed:
method None.getAlgorithmId() - removed:
method OpenSSL.createHash($payload, Key $key) - removed:
method OpenSSL.doVerify($expected, $payload, Key $key) - removed:
method OpenSSL.getAlgorithm() - removed:
method OpenSSL.getKeyType() - removed:
method Rsa.getKeyType() - removed:
protected property Key.content - removed:
static method InvalidKeyProvided.incompatibleKey() - changed:
abstract class Hmac extends BaseSigner → abstract class Hmac implements Signer - changed:
abstract class OpenSSL extends BaseSigner → abstract class OpenSSL implements Signer - changed:
constructor Ecdsa(SignatureConverter $converter = …) → constructor Ecdsa(?SignatureConverter $converter = …) - changed:
final class None extends BaseSigner → final class None implements Signer - changed:
method Key.contents() → method Key.contents(): string - changed:
method Key.passphrase() → method Key.passphrase(): string - changed:
static method CannotSignPayload.errorHappened($error) → static method CannotSignPayload.errorHappened(string $error): self - changed:
static method InvalidKeyProvided.cannotBeParsed($details) → static method InvalidKeyProvided.cannotBeParsed(string $details): self - added:
abstract class UnsafeEcdsa extends OpenSSL - added:
abstract class UnsafeRsa extends OpenSSL - added:
constructor UnsafeEcdsa(SignatureConverter $converter) - added:
final class Blake2b implements Signer - added:
final class Eddsa implements Signer - added:
interface Key - added:
method Blake2b.algorithmId(): string - added:
method Blake2b.sign(string $payload, Key $key): string - added:
method Blake2b.verify(string $expected, string $payload, Key $key): bool - added:
method Ecdsa.expectedKeyLength(): int - added:
method Ecdsa.pointLength(): int - added:
method Ecdsa.sign(string $payload, Key $key): string - added:
method Ecdsa.verify(string $expected, string $payload, Key $key): bool - added:
method Eddsa.algorithmId(): string - added:
method Eddsa.sign(string $payload, Key $key): string - added:
method Eddsa.verify(string $expected, string $payload, Key $key): bool - added:
method Hmac.algorithm(): string - added:
method Hmac.minimumBitsLengthForKey(): int - added:
method Hmac.sign(string $payload, Key $key): string - added:
method Hmac.verify(string $expected, string $payload, Key $key): bool - added:
method None.algorithmId(): string - added:
method None.sign(string $payload, Key $key): string - added:
method None.verify(string $expected, string $payload, Key $key): bool - added:
method OpenSSL.algorithm(): int - added:
method Rsa.sign(string $payload, Key $key): string - added:
method Rsa.verify(string $expected, string $payload, Key $key): bool - added:
method UnsafeEcdsa.pointLength(): int - added:
method UnsafeEcdsa.sign(string $payload, Key $key): string - added:
method UnsafeEcdsa.verify(string $expected, string $payload, Key $key): bool - added:
method UnsafeRsa.sign(string $payload, Key $key): string - added:
method UnsafeRsa.verify(string $expected, string $payload, Key $key): bool - added:
protected const OpenSSL.KEY_TYPE_MAP - added:
protected method Ecdsa.guardAgainstIncompatibleKey(int $type, int $lengthInBits): void - added:
protected method OpenSSL.createSignature(string $pem, string $passphrase, string $payload): string - added:
protected method OpenSSL.guardAgainstIncompatibleKey(int $type, int $lengthInBits): void - added:
protected method OpenSSL.verifySignature(string $expected, string $payload, string $pem): bool - added:
protected method Rsa.guardAgainstIncompatibleKey(int $type, int $lengthInBits): void - added:
protected method UnsafeEcdsa.guardAgainstIncompatibleKey(int $type, int $lengthInBits): void - added:
protected method UnsafeRsa.guardAgainstIncompatibleKey(int $type, int $lengthInBits): void - added:
static method Ecdsa.create(): Ecdsa - added:
static method InvalidKeyProvided.cannotBeEmpty(): self - added:
static method InvalidKeyProvided.incompatibleKeyLength(int $expectedLength, int $actualLength): self - added:
static method InvalidKeyProvided.incompatibleKeyType(string $expectedType, string $actualType): self - added:
static method InvalidKeyProvided.tooShort(int $expectedLength, int $actualLength): self - added:
static method UnsafeEcdsa.create(): UnsafeEcdsa
- removed:
const MultibyteStringConverter.ASN1_BIG_INTEGER_LIMIT - removed:
const MultibyteStringConverter.ASN1_INTEGER - removed:
const MultibyteStringConverter.ASN1_LENGTH_2BYTES - removed:
const MultibyteStringConverter.ASN1_MAX_SINGLE_BYTE - removed:
const MultibyteStringConverter.ASN1_NEGATIVE_INTEGER - removed:
const MultibyteStringConverter.ASN1_SEQUENCE - removed:
const MultibyteStringConverter.BYTE_SIZE - removed:
method Sha256.getAlgorithm() - removed:
method Sha256.getAlgorithmId() - removed:
method Sha256.getKeyLength() - removed:
method Sha384.getAlgorithm() - removed:
method Sha384.getAlgorithmId() - removed:
method Sha384.getKeyLength() - removed:
method Sha512.getAlgorithm() - removed:
method Sha512.getAlgorithmId() - removed:
method Sha512.getKeyLength() - changed:
class Sha256 extends Ecdsa → final class Sha256 extends Ecdsa - changed:
class Sha384 extends Ecdsa → final class Sha384 extends Ecdsa - changed:
class Sha512 extends Ecdsa → final class Sha512 extends Ecdsa - changed:
method MultibyteStringConverter.fromAsn1($signature, $length) → method MultibyteStringConverter.fromAsn1(string $signature, int $length): string - changed:
method MultibyteStringConverter.toAsn1($signature, $length) → method MultibyteStringConverter.toAsn1(string $points, int $length): string - changed:
method SignatureConverter.fromAsn1($signature, $length) → method SignatureConverter.fromAsn1(string $signature, int $length): string - changed:
method SignatureConverter.toAsn1($points, $length) → method SignatureConverter.toAsn1(string $points, int $length): string - changed:
static method ConversionFailed.incorrectStartSequence() → static method ConversionFailed.incorrectStartSequence(): self - changed:
static method ConversionFailed.integerExpected() → static method ConversionFailed.integerExpected(): self - changed:
static method ConversionFailed.invalidLength() → static method ConversionFailed.invalidLength(): self - added:
final class UnsafeSha256 extends UnsafeEcdsa - added:
final class UnsafeSha384 extends UnsafeEcdsa - added:
final class UnsafeSha512 extends UnsafeEcdsa - added:
method Sha256.algorithm(): int - added:
method Sha256.algorithmId(): string - added:
method Sha256.expectedKeyLength(): int - added:
method Sha256.pointLength(): int - added:
method Sha384.algorithm(): int - added:
method Sha384.algorithmId(): string - added:
method Sha384.expectedKeyLength(): int - added:
method Sha384.pointLength(): int - added:
method Sha512.algorithm(): int - added:
method Sha512.algorithmId(): string - added:
method Sha512.expectedKeyLength(): int - added:
method Sha512.pointLength(): int - added:
method UnsafeSha256.algorithm(): int - added:
method UnsafeSha256.algorithmId(): string - added:
method UnsafeSha256.pointLength(): int - added:
method UnsafeSha384.algorithm(): int - added:
method UnsafeSha384.algorithmId(): string - added:
method UnsafeSha384.pointLength(): int - added:
method UnsafeSha512.algorithm(): int - added:
method UnsafeSha512.algorithmId(): string - added:
method UnsafeSha512.pointLength(): int
- removed:
method Sha256.getAlgorithm() - removed:
method Sha256.getAlgorithmId() - removed:
method Sha384.getAlgorithm() - removed:
method Sha384.getAlgorithmId() - removed:
method Sha512.getAlgorithm() - removed:
method Sha512.getAlgorithmId() - changed:
class Sha256 extends Hmac → final class Sha256 extends Hmac - changed:
class Sha384 extends Hmac → final class Sha384 extends Hmac - changed:
class Sha512 extends Hmac → final class Sha512 extends Hmac - added:
final class UnsafeSha256 extends Hmac - added:
final class UnsafeSha384 extends Hmac - added:
final class UnsafeSha512 extends Hmac - added:
method Sha256.algorithm(): string - added:
method Sha256.algorithmId(): string - added:
method Sha256.minimumBitsLengthForKey(): int - added:
method Sha384.algorithm(): string - added:
method Sha384.algorithmId(): string - added:
method Sha384.minimumBitsLengthForKey(): int - added:
method Sha512.algorithm(): string - added:
method Sha512.algorithmId(): string - added:
method Sha512.minimumBitsLengthForKey(): int - added:
method UnsafeSha256.algorithm(): string - added:
method UnsafeSha256.algorithmId(): string - added:
method UnsafeSha256.minimumBitsLengthForKey(): int - added:
method UnsafeSha384.algorithm(): string - added:
method UnsafeSha384.algorithmId(): string - added:
method UnsafeSha384.minimumBitsLengthForKey(): int - added:
method UnsafeSha512.algorithm(): string - added:
method UnsafeSha512.algorithmId(): string - added:
method UnsafeSha512.minimumBitsLengthForKey(): int
- removed:
const LocalFileReference.PATH_PREFIX - removed:
static method FileCouldNotBeRead.onPath(string $path, \Throwable $cause = …) - changed:
final class InMemory extends Key → final class InMemory implements Key - changed:
final class LocalFileReference extends Key → final class LocalFileReference implements Key - changed:
static method FileCouldNotBeRead.onPath($path, \Exception $cause = …) → static method FileCouldNotBeRead.onPath(string $path, ?Throwable $cause = …): self - changed:
static method InMemory.base64Encoded($contents, $passphrase = …) → static method InMemory.base64Encoded(string $contents, string $passphrase = …): self - changed:
static method InMemory.file($path, $passphrase = …) → static method InMemory.file(string $path, string $passphrase = …): self - changed:
static method InMemory.plainText($contents, $passphrase = …) → static method InMemory.plainText(string $contents, string $passphrase = …): self - changed:
static method LocalFileReference.file($path, $passphrase = …) → static method LocalFileReference.file(string $path, string $passphrase = …): self - added:
method InMemory.contents(): string - added:
method InMemory.passphrase(): string - added:
method LocalFileReference.contents(): string - added:
method LocalFileReference.passphrase(): string - added:
static method InMemory.empty(): self
- removed:
method Sha256.getAlgorithm() - removed:
method Sha256.getAlgorithmId() - removed:
method Sha384.getAlgorithm() - removed:
method Sha384.getAlgorithmId() - removed:
method Sha512.getAlgorithm() - removed:
method Sha512.getAlgorithmId() - changed:
class Sha256 extends Rsa → final class Sha256 extends Rsa - changed:
class Sha384 extends Rsa → final class Sha384 extends Rsa - changed:
class Sha512 extends Rsa → final class Sha512 extends Rsa - added:
final class UnsafeSha256 extends UnsafeRsa - added:
final class UnsafeSha384 extends UnsafeRsa - added:
final class UnsafeSha512 extends UnsafeRsa - added:
method Sha256.algorithm(): int - added:
method Sha256.algorithmId(): string - added:
method Sha384.algorithm(): int - added:
method Sha384.algorithmId(): string - added:
method Sha512.algorithm(): int - added:
method Sha512.algorithmId(): string - added:
method UnsafeSha256.algorithm(): int - added:
method UnsafeSha256.algorithmId(): string - added:
method UnsafeSha384.algorithm(): int - added:
method UnsafeSha384.algorithmId(): string - added:
method UnsafeSha512.algorithm(): int - added:
method UnsafeSha512.algorithmId(): string
- removed:
const RegisteredClaimGiven.DEFAULT_MESSAGE - changed:
constructor DataSet(array $data, $encoded) → constructor DataSet(array $data, string $encoded) - changed:
method DataSet.all() → method DataSet.all(): array - changed:
method DataSet.get($name, $default = …) → method DataSet.get(string $name, $default = …) - changed:
method DataSet.has($name) → method DataSet.has(string $name): bool - changed:
method DataSet.toString() → method DataSet.toString(): string - changed:
static method InvalidTokenStructure.arrayExpected($part) → static method InvalidTokenStructure.arrayExpected(string $part): self - changed:
static method InvalidTokenStructure.dateIsNotParseable($value) → static method InvalidTokenStructure.dateIsNotParseable(string $value): self - changed:
static method InvalidTokenStructure.missingOrNotEnoughSeparators() → static method InvalidTokenStructure.missingOrNotEnoughSeparators(): self - changed:
static method RegisteredClaimGiven.forClaim($name) → static method RegisteredClaimGiven.forClaim(string $name): self - changed:
static method UnsupportedHeaderFound.encryption() → static method UnsupportedHeaderFound.encryption(): self - added:
constructor Builder(Encoder $encoder, ClaimsFormatter $claimFormatter) - added:
constructor Parser(Decoder $decoder) - added:
constructor Plain(DataSet $headers, DataSet $claims, Signature $signature) - added:
constructor Signature(string $hash, string $encoded) - added:
final class Builder implements BuilderInterface - added:
final class Parser implements ParserInterface - added:
final class Plain implements UnencryptedToken - added:
final class Signature - added:
method Builder.canOnlyBeUsedAfter(DateTimeImmutable $notBefore): BuilderInterface - added:
method Builder.expiresAt(DateTimeImmutable $expiration): BuilderInterface - added:
method Builder.getToken(Signer $signer, Key $key): Plain - added:
method Builder.identifiedBy(string $id): BuilderInterface - added:
method Builder.issuedAt(DateTimeImmutable $issuedAt): BuilderInterface - added:
method Builder.issuedBy(string $issuer): BuilderInterface - added:
method Builder.permittedFor(string ...$audiences): BuilderInterface - added:
method Builder.relatedTo(string $subject): BuilderInterface - added:
method Builder.withClaim(string $name, $value): BuilderInterface - added:
method Builder.withHeader(string $name, $value): BuilderInterface - added:
method Parser.parse(string $jwt): TokenInterface - added:
method Plain.claims(): DataSet - added:
method Plain.hasBeenIssuedBefore(DateTimeInterface $now): bool - added:
method Plain.hasBeenIssuedBy(string ...$issuers): bool - added:
method Plain.headers(): DataSet - added:
method Plain.isExpired(DateTimeInterface $now): bool - added:
method Plain.isIdentifiedBy(string $id): bool - added:
method Plain.isMinimumTimeBefore(DateTimeInterface $now): bool - added:
method Plain.isPermittedFor(string $audience): bool - added:
method Plain.isRelatedTo(string $subject): bool - added:
method Plain.payload(): string - added:
method Plain.signature(): Signature - added:
method Plain.toString(): string - added:
method Signature.hash(): string - added:
method Signature.toString(): string - added:
static method Signature.fromEmptyData(): self
- changed:
method Constraint.assert(Token $token) → method Constraint.assert(Token $token): void - changed:
method RequiredConstraintsViolated.violations() → method RequiredConstraintsViolated.violations(): array - changed:
method Validator.assert(Token $token, Constraint ...$constraints) → method Validator.assert(Token $token, Constraint ...$constraints): void - changed:
method Validator.validate(Token $token, Constraint ...$constraints) → method Validator.validate(Token $token, Constraint ...$constraints): bool - changed:
static method RequiredConstraintsViolated.fromViolations(ConstraintViolation ...$violations) → static method RequiredConstraintsViolated.fromViolations(ConstraintViolation ...$violations): self - added:
interface SignedWith extends Constraint - added:
interface ValidAt extends Constraint - added:
property ConstraintViolation.constraint: ?string - added:
static method ConstraintViolation.error(string $message, Constraint $constraint): self
- changed:
constructor IdentifiedBy($id) → constructor IdentifiedBy(string $id) - changed:
constructor IssuedBy(...$issuers) → constructor IssuedBy(string ...$issuers) - changed:
constructor PermittedFor($audience) → constructor PermittedFor(string $audience) - changed:
constructor RelatedTo($subject) → constructor RelatedTo(string $subject) - changed:
constructor ValidAt(Clock $clock, DateInterval $leeway = …) → constructor ValidAt(Clock $clock, ?DateInterval $leeway = …) - changed:
final class SignedWith implements Constraint → final class SignedWith implements SignedWithInterface - changed:
method IdentifiedBy.assert(Token $token) → method IdentifiedBy.assert(Token $token): void - changed:
method IssuedBy.assert(Token $token) → method IssuedBy.assert(Token $token): void - changed:
method PermittedFor.assert(Token $token) → method PermittedFor.assert(Token $token): void - changed:
method RelatedTo.assert(Token $token) → method RelatedTo.assert(Token $token): void - changed:
method SignedWith.assert(Token $token) → method SignedWith.assert(Token $token): void - changed:
method ValidAt.assert(Token $token) → method ValidAt.assert(Token $token): void - changed:
static method LeewayCannotBeNegative.create() → static method LeewayCannotBeNegative.create(): self - added:
constructor HasClaimWithValue(string $claim, $expectedValue) - added:
constructor LooseValidAt(Clock $clock, ?DateInterval $leeway = …) - added:
constructor StrictValidAt(Clock $clock, ?DateInterval $leeway = …) - added:
final class CannotValidateARegisteredClaim extends InvalidArgumentException implements Exception - added:
final class HasClaimWithValue implements Constraint - added:
final class LooseValidAt implements ValidAtInterface - added:
final class StrictValidAt implements ValidAtInterface - added:
method HasClaimWithValue.assert(Token $token): void - added:
method LooseValidAt.assert(Token $token): void - added:
method StrictValidAt.assert(Token $token): void - added:
static method CannotValidateARegisteredClaim.create(string $claim): self
- removed:
class JsonException extends Exception