PHP code example of tuupola / slim-basic-auth
1. Go to this page and download the library: Download tuupola/slim-basic-auth library . Choose the download type require .
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
tuupola / slim-basic-auth example snippets
$app = new Slim\App;
$app->add(new Tuupola\Middleware\HttpBasicAuthentication([
"users" => [
"root" => "t00r",
"somebody" => "passw0rd"
]
]));
$app = Zend\Expressive\AppFactory::create();
$app->pipe(new Tuupola\Middleware\HttpBasicAuthentication([
"users" => [
"root" => "t00r",
"user" => "passw0rd"
]
]));
$app = new Slim\App;
$app->add(new Tuupola\Middleware\HttpBasicAuthentication([
"users" => [
"root" => '$2y$10$1lwCIlqktFZwEBIppL4ak.I1AHxjoKy9stLnbedwVMrt92aGz82.O',
"somebody" => '$2y$10$6/vGXuMUoRlJUeDN.bUWduge4GhQbgPkm6pfyGxwgEWT0vEkHKBUW'
]
]));
$app = new Slim\App;
$app->add(new Tuupola\Middleware\HttpBasicAuthentication([
"users" => [
"admin" => getenv("ADMIN_PASSWORD")
]
]));
$app = new Slim\App;
$app->add(new Tuupola\Middleware\HttpBasicAuthentication([
"path" => "/admin",
"realm" => "Protected",
"users" => [
"root" => "t00r",
"somebody" => "passw0rd"
],
"before" => function ($request, $arguments) {
return $request->withAttribute("user", $arguments["user"]);
}
]));
$app = new Slim\App;
$app->add(new Tuupola\Middleware\HttpBasicAuthentication([
"path" => "/admin",
"realm" => "Protected",
"users" => [
"root" => "t00r",
"somebody" => "passw0rd"
],
"after" => function ($response, $arguments) {
return $response->withHeader("X-Brawndo", "plants crave");
}
]));
$app = new Slim\App;
$app->add(new Tuupola\Middleware\HttpBasicAuthentication([
"path" => "/admin",
"secure" => true,
"relaxed" => ["localhost", "headers"],
"users" => [
"root" => "t00r",
"somebody" => "passw0rd"
]
]));
use Tuupola\Middleware\HttpBasicAuthentication\AuthenticatorInterface;
use Tuupola\Middleware\HttpBasicAuthentication;
class RandomAuthenticator implements AuthenticatorInterface {
public function __invoke(array $arguments): bool {
return (bool)rand(0,1);
}
}
$app = new Slim\App;
$app->add(new HttpBasicAuthentication([
"path" => "/admin",
"realm" => "Protected",
"authenticator" => new RandomAuthenticator
]));
$app = new Slim\App;
$app->add(new Tuupola\Middleware\HttpBasicAuthentication([
"path" => "/admin",
"realm" => "Protected",
"authenticator" => function ($arguments) {
return (bool)rand(0,1);
}
]));
$app = new Slim\App;
$app->add(new Tuupola\Middleware\HttpBasicAuthentication([
"path" => "/api",
"realm" => "Protected",
"users" => [
"root" => "t00r",
"somebody" => "passw0rd"
],
"error" => function ($response, $arguments) {
$data = [];
$data["status"] = "error";
$data["message"] = $arguments["message"];
$body = $response->getBody();
$body->write(json_encode($data, JSON_UNESCAPED_SLASHES));
return $response->withBody($body);
}
]));
use Tuupola\Middleware\HttpBasicAuthentication\PdoAuthenticator;
$pdo = new PDO("sqlite:/tmp/users.sqlite");
$app = new Slim\App;
$app->add(new Tuupola\Middleware\HttpBasicAuthentication([
"path" => "/admin",
"realm" => "Protected",
"authenticator" => new PdoAuthenticator([
"pdo" => $pdo
])
]));