public static createAlgorithmManager ( array $algorithms ) : Jose\Algorithm\JWAManagerInterface | ||
$algorithms | array | |
Résultat | Jose\Algorithm\JWAManagerInterface |
public static function createAlgorithmManager(array $algorithms)
{
$jwa_manager = new JWAManager();
foreach ($algorithms as $algorithm) {
if ($algorithm instanceof JWAInterface) {
$jwa_manager->addAlgorithm($algorithm);
} else {
Assertion::string($algorithm, 'Bad argument: must be a list with either algorithm names (string) or instances of JWAInterface.');
$class = self::getAlgorithmClass($algorithm);
$jwa_manager->addAlgorithm(new $class());
}
}
return $jwa_manager;
}
/** * @param string[] $algorithms * @param \Jose\Payload\PayloadConverterInterface[] $payload_converters * @param string[] $compression_methods * * @return \Jose\EncrypterInterface */ public static function createEncrypter(array $algorithms, array $payload_converters = [], array $compression_methods = ['DEF']) { $algorithm_manager = AlgorithmManagerFactory::createAlgorithmManager($algorithms); $payload_converter_manager = PayloadConverterFactory::createPayloadConverter($payload_converters); $compression_manager = CompressionManagerFactory::createCompressionManager($compression_methods); return new Encrypter($algorithm_manager, $payload_converter_manager, $compression_manager); }