clam2021/vendor/tuupola/slim-basic-auth/UPGRADING.md

81 lines
1.8 KiB
Markdown
Raw Normal View History

2021-05-13 16:04:00 +00:00
# Updgrading from 2.x to 3.x
## New namespace
For most cases it is enough just to update the classname. Instead of using the old `Slim\Middleware` namespace:
```php
$app->add(new Slim\Middleware\HttpBasicAuthentication([
"users" => [
"root" => "t00r",
"somebody" => "passw0rd"
]
]));
```
You should now use `Tuupola\Middleware` instead:
```php
$app->add(new Tuupola\Middleware\HttpBasicAuthentication([
"users" => [
"root" => "t00r",
"somebody" => "passw0rd"
]
]));
````
## Changed parameter names
Parameters `callback` and `passthrough` were renamed to `before` and `ignore`. In other words instead of doing:
```php
$app->add(new Slim\Middleware\HttpBasicAuthentication([
"passthrough" => ["/token"],
"callback" => function ($request, $response, $arguments) {
print_r($arguments);
}
]));
```
You should now do the following instead:
```php
$app->add(new Tuupola\Middleware\HttpBasicAuthentication([
"ignore" => ["/token"],
"before" => function ($request, $response, $arguments) {
print_r($arguments);
}
]));
```
Note that `before()` should now return an instance of `Psr\Http\Message\RequestInterface`. Anything else will be ignored.
## Most setter are removed
Most public setters and getters were removed. If you had code like following:
```php
$auth = (new Slim\Middleware\HttpBasicAuthentication)
->setPath(["/admin", "/api"])
->setRealm("Protected"),
->setUsers([
"root" => "t00r",
"somebody" => "passw0rd"
]);
$app->add($auth);
```
Settings should now be passed in constructor instead:
```php
$app->add(new Tuupola\Middleware\HttpBasicAuthentication([
"path" => ["/admin", "/api"],
"realm" => "Protected",
"users" => [
"root" => "t00r",
"somebody" => "passw0rd"
]
]));
```