PHP 8.1.33
Preview: Authentication.php Size: 3.72 KB
/home/jambtst2015/9jahookups.com/libraries/src/Service/Provider/Authentication.php

<?php
/**
 * Joomla! Content Management System
 *
 * @copyright  (C) 2017 Open Source Matters, Inc. <https://www.joomla.org>
 * @license    GNU General Public License version 2 or later; see LICENSE.txt
 */

namespace Joomla\CMS\Service\Provider;

\defined('JPATH_PLATFORM') or die;

use Joomla\Authentication\Password\Argon2idHandler as BaseArgon2idHandler;
use Joomla\Authentication\Password\Argon2iHandler as BaseArgon2iHandler;
use Joomla\Authentication\Password\BCryptHandler as BaseBCryptHandler;
use Joomla\CMS\Authentication\Password\Argon2idHandler;
use Joomla\CMS\Authentication\Password\Argon2iHandler;
use Joomla\CMS\Authentication\Password\BCryptHandler;
use Joomla\CMS\Authentication\Password\ChainedHandler;
use Joomla\CMS\Authentication\Password\MD5Handler;
use Joomla\CMS\Authentication\Password\PHPassHandler;
use Joomla\DI\Container;
use Joomla\DI\ServiceProviderInterface;

/**
 * Service provider for the authentication dependencies
 *
 * @since  4.0.0
 */
class Authentication implements ServiceProviderInterface
{
	/**
	 * Registers the service provider with a DI container.
	 *
	 * @param   Container  $container  The DI container.
	 *
	 * @return  void
	 *
	 * @since   4.0.0
	 */
	public function register(Container $container)
	{
		$container->alias('password.handler.argon2i', Argon2iHandler::class)
			->alias(BaseArgon2iHandler::class, Argon2iHandler::class)
			->share(
				Argon2iHandler::class,
				function (Container $container)
				{
					return new Argon2iHandler;
				},
				true
			);

		$container->alias('password.handler.argon2id', Argon2idHandler::class)
			->alias(BaseArgon2idHandler::class, Argon2idHandler::class)
			->share(
				Argon2idHandler::class,
				function (Container $container)
				{
					return new Argon2idHandler;
				},
				true
			);

		$container->alias('password.handler.chained', ChainedHandler::class)
			->share(
				ChainedHandler::class,
				function (Container $container)
				{
					$handler = new ChainedHandler;

					// Load the chain with supported core handlers
					$handler->addHandler($container->get(BCryptHandler::class));

					if (Argon2iHandler::isSupported())
					{
						$handler->addHandler($container->get(Argon2iHandler::class));
					}

					if (Argon2idHandler::isSupported())
					{
						$handler->addHandler($container->get(Argon2idHandler::class));
					}

					$handler->addHandler($container->get(PHPassHandler::class));
					$handler->addHandler($container->get(MD5Handler::class));

					return $handler;
				},
				true
			);

		// The Joomla default is BCrypt so alias this service
		$container->alias('password.handler.default', BCryptHandler::class)
			->alias(BaseBCryptHandler::class, BCryptHandler::class)
			->alias('password.handler.bcrypt', BCryptHandler::class)
			->share(
				BCryptHandler::class,
				function (Container $container)
				{
					return new BCryptHandler;
				},
				true
			);

		$container->alias('password.handler.md5', MD5Handler::class)
			->share(
				MD5Handler::class,
				function (Container $container)
				{
					@trigger_error(
						sprintf(
							'The "%1$s" class service is deprecated, use the "%2$s" service for the active password handler instead.',
							MD5Handler::class,
							'password.handler.default'
						),
						E_USER_DEPRECATED
					);

					return new MD5Handler;
				},
				true
			);

		$container->alias('password.handler.phpass', PHPassHandler::class)
			->share(
				PHPassHandler::class,
				function (Container $container)
				{
					@trigger_error(
						sprintf(
							'The "%1$s" class service is deprecated, use the "%2$s" service for the active password handler instead.',
							PHPassHandler::class,
							'password.handler.default'
						),
						E_USER_DEPRECATED
					);

					return new PHPassHandler;
				},
				true
			);
	}
}

Directory Contents

Dirs: 0 × Files: 19

Name Size Perms Modified Actions
1.00 KB lrw-r--r-- 2021-08-23 19:07:08
Edit Download
6.99 KB lrw-r--r-- 2021-08-23 19:07:08
Edit Download
3.72 KB lrw-r--r-- 2021-08-23 19:07:08
Edit Download
1.12 KB lrw-r--r-- 2021-08-23 19:07:08
Edit Download
1.20 KB lrw-r--r-- 2021-08-23 19:07:08
Edit Download
4.47 KB lrw-r--r-- 2021-08-23 19:07:08
Edit Download
3.91 KB lrw-r--r-- 2021-08-23 19:07:08
Edit Download
1.09 KB lrw-r--r-- 2021-08-23 19:07:08
Edit Download
1.02 KB lrw-r--r-- 2021-08-23 19:07:08
Edit Download
1.01 KB lrw-r--r-- 2021-08-23 19:07:08
Edit Download
865 B lrw-r--r-- 2021-08-23 19:07:08
Edit Download
1.08 KB lrw-r--r-- 2021-08-23 19:07:08
Edit Download
971 B lrw-r--r-- 2021-08-23 19:07:08
Edit Download
1.02 KB lrw-r--r-- 2021-08-23 19:07:08
Edit Download
1.43 KB lrw-r--r-- 2021-08-23 19:07:08
Edit Download
10.37 KB lrw-r--r-- 2021-08-23 19:07:08
Edit Download
1.17 KB lrw-r--r-- 2021-08-23 19:07:08
Edit Download
1.09 KB lrw-r--r-- 2021-08-23 19:07:08
Edit Download
1.18 KB lrw-r--r-- 2021-08-23 19:07:08
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).