PHP code example of elbanyaoui / slim-jwt-auth
1. Go to this page and download the library: Download elbanyaoui/slim-jwt-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/ */
elbanyaoui / slim-jwt-auth example snippets
$app = new \Slim\App();
$container = $app->getContainer();
$container["jwt"] = function ($container) {
return new StdClass;
};
$app->add(new \Slim\Middleware\JwtAuthentication([
"secret" => "supersecretkeyyoushouldnotcommittogithub",
"callback" => function ($request, $response, $arguments) use ($container) {
$container["jwt"] = $arguments["decoded"];
}
]));
$app = new \Slim\App();
$app->add(new \Slim\Middleware\JwtAuthentication([
"secret" => "supersecretkeyyoushouldnotcommittogithub",
"error" => function ($request, $response, $arguments) {
$data["status"] = "error";
$data["message"] = $arguments["message"];
return $response
->withHeader("Content-Type", "application/json")
->write(json_encode($data, JSON_UNESCAPED_SLASHES | JSON_PRETTY_PRINT));
}
]));
php
$app = new \Slim\App();
$app->add(new \Slim\Middleware\JwtAuthentication([
"secret" => "supersecretkeyyoushouldnotcommittogithub"
]));
php
$app = new \Slim\App();
$app->add(new \Slim\Middleware\JwtAuthentication([
"secret" => getenv("JWT_SECRET")
]));
php
$app = new \Slim\App();
$app->add(new \Slim\Middleware\JwtAuthentication([
"path" => "/api", /* or ["/api", "/admin"] */
"secret" => "supersecretkeyyoushouldnotcommittogithub"
]));
php
$app = new \Slim\App();
$app->add(new \Slim\Middleware\JwtAuthentication([
"environment" => ["HTTP_BRAWNDO", "REDIRECT_HTTP_BRAWNDO"],
"header" => "Brawndo",
"secret" => "supersecretkeyyoushouldnotcommittogithub"
]));
php
$app = new \Slim\App();
$app->add(new \Slim\Middleware\JwtAuthentication([
"environment" => "HTTP_X_TOKEN",
"header" => "X-Token",
"secret" => "supersecretkeyyoushouldnotcommittogithub"
]));
php
$app = new \Slim\App();
$app->add(new \Slim\Middleware\JwtAuthentication([
"cookie" => "nekot",
"secret" => "supersecretkeyyoushouldnotcommittogithub"
]));
php
$app = new \Slim\App();
$app->add(new \Slim\Middleware\JwtAuthentication([
"header" => "X-Token",
"regexp" => "/(.*)/",
"secret" => "supersecretkeyyoushouldnotcommittogithub"
]));
php
$app = new \Slim\App();
$app->add(new \Slim\Middleware\JwtAuthentication([
"attribute" => "jwt",
"secret" => "supersecretkeyyoushouldnotcommittogithub"
]));
/* ... */
$decoded = $request->getAttribute("jwt");
php
$app->add(new \Slim\Middleware\JwtAuthentication([
"secure" => false,
"secret" => "supersecretkeyyoushouldnotcommittogithub"
]));
php
[
"iat" => "1428819941",
"exp" => "1744352741",
"scope" => ["read", "write", "delete"]
]
php
$app = new \Slim\App();
$container = $app->getContainer();
$container["jwt"] = function ($container) {
return new StdClass;
};
$app->add(new \Slim\Middleware\JwtAuthentication([
"secret" => "supersecretkeyyoushouldnotcommittogithub",
"callback" => function ($request, $response, $arguments) use ($container) {
$container["jwt"] = $arguments["decoded"];
}
]));
$app->delete("/item/{id}", function ($request, $response, $arguments) {
if (in_array("delete", $this->jwt->scope)) {
/* Code for deleting item */
} else {
/* No scope so respond with 401 Unauthorized */
return $response->withStatus(401);
}
});