/** * @param \Jose\JWTCreatorInterface $jwt_creator * @param string $issuer * @param string $signature_algorithm * @param \Jose\Object\JWKSetInterface $signature_key_set */ public function enableSignedResponsesSupport(JWTCreatorInterface $jwt_creator, $issuer, $signature_algorithm, JWKSetInterface $signature_key_set) { Assertion::string($issuer); Assertion::inArray($signature_algorithm, $jwt_creator->getSupportedSignatureAlgorithms()); Assertion::greaterThan($signature_key_set->countKeys(), 0, 'The signature key set must have at least one key.'); $this->setJWTCreator($jwt_creator); $this->setIssuer($issuer); $this->signature_key_set = $signature_key_set; $this->signature_algorithm = $signature_algorithm; }
/** * JWTAccessTokenManager constructor. * * @param \Jose\JWTCreatorInterface $jwt_creator * @param \Jose\JWTLoaderInterface $jwt_loader * @param string $signature_algorithm * @param \Jose\Object\JWKSetInterface $signature_key_set * @param string $issuer * @param string $key_encryption_algorithm * @param string $content_encryption_algorithm * @param \Jose\Object\JWKSetInterface $key_encryption_key_set */ public function __construct(JWTCreatorInterface $jwt_creator, JWTLoaderInterface $jwt_loader, $signature_algorithm, JWKSetInterface $signature_key_set, $key_encryption_algorithm, $content_encryption_algorithm, JWKSetInterface $key_encryption_key_set, $issuer) { Assertion::string($signature_algorithm); Assertion::string($key_encryption_algorithm); Assertion::string($content_encryption_algorithm); Assertion::greaterThan($signature_key_set->countKeys(), 0, 'The signature key set must have at least one key.'); Assertion::greaterThan($key_encryption_key_set->countKeys(), 0, 'The encryption key set must have at least one key.'); Assertion::inArray($signature_algorithm, $jwt_creator->getSupportedSignatureAlgorithms()); Assertion::inArray($key_encryption_algorithm, $jwt_creator->getSupportedKeyEncryptionAlgorithms()); Assertion::inArray($content_encryption_algorithm, $jwt_creator->getSupportedContentEncryptionAlgorithms()); $this->signature_algorithm = $signature_algorithm; $this->key_encryption_algorithm = $key_encryption_algorithm; $this->content_encryption_algorithm = $content_encryption_algorithm; $this->setIssuer($issuer); $this->signature_key_set = $signature_key_set; $this->key_encryption_key_set = $key_encryption_key_set; $this->setJWTCreator($jwt_creator); $this->setJWTLoader($jwt_loader); }