# |
May 19th 2021, 10:06 |
neon1024 |
The next thing.. always another.. is that `EventManager::instance()->on('Model.initialize', [$this, 'setCurrentOrganisation']);` doesn’t seem to be called for any Table classes any more except `Requests` and `Panels` from DebugKit. |
# |
May 19th 2021, 10:05 |
neon1024 |
Yes, super, thanks very much @kevin.pfeifer |
# |
May 19th 2021, 09:40 |
kevin.pfeifer |
it should then redirect without the need to extend the middleware and use your own try catch block |
# |
May 19th 2021, 09:30 |
neon1024 |
:thumbsup: |
# |
May 19th 2021, 09:22 |
kevin.pfeifer |
as stated in https://book.cakephp.org/authorization/2/en/middleware.html#handling-unauthorized-requests |
# |
May 19th 2021, 09:22 |
slackebot |
],``` |
# |
May 19th 2021, 09:22 |
kevin.pfeifer |
I just checked your screenshot again and it seems you misplaced the `exceptions` array. It should be inside the `unatuhorizedHandler` array like that ``` 'unauthorizedHandler' => [ 'className' => 'Authorization.Redirect', 'url' => '/users/login', 'queryParam' => 'redirectUrl', 'exceptions' => [ MissingIdentityException::class, OtherException::class, ], |
# |
May 19th 2021, 09:13 |
neon1024 |
Dirty, but it works |
# |
May 19th 2021, 08:59 |
neon1024 |
Well I have a meeting. Thanks for the help though, really appreciated it. This is the start of Day 2 trying to get this Authorization plugin working ,:) |
# |
May 19th 2021, 08:58 |
neon1024 |
I tried catching the instantiation of the service also, but as it’s middleware, you can’t |
# |
May 19th 2021, 08:57 |
neon1024 |
Otherwise I guess we can’t use the Authorization plugin as it basically doesn’t work |
# |
May 19th 2021, 08:57 |
neon1024 |
That’s why I thought I’d just extend the class and I can catch that exception myself |
# |
May 19th 2021, 08:56 |
neon1024 |
Ah a short class name is no help `use Authorization\Exception\ForbiddenException;` |
# |
May 19th 2021, 08:56 |
neon1024 |
Looks the same |
# |
May 19th 2021, 08:56 |
slackebot |
<neon1024> |
# |
May 19th 2021, 08:55 |
kevin.pfeifer |
is it probably a different exception then the one i wrote above? |
# |
May 19th 2021, 08:53 |
neon1024 |
Well, I’ll see once my Docker containers are done crashing. That `docker.hyperkit` ruins my Macbook |
# |
May 19th 2021, 08:52 |
neon1024 |
Odd, I am still just getting an exception |
# |
May 19th 2021, 08:50 |
neon1024 |
I guess this is the hook https://github.com/cakephp/authorization/blob/2.1.0/src/Middleware/AuthorizationMiddleware.php#L134-L140 |
# |
May 19th 2021, 08:50 |
neon1024 |
Making work for conference speakers :P |
# |
May 19th 2021, 08:49 |
kevin.pfeifer |
yea, we definitely need to adjust the doc |
# |
May 19th 2021, 08:49 |
neon1024 |
Magic methods and now secret configuration! |
# |
May 19th 2021, 08:49 |
neon1024 |
Bit annoying that it’s not in the docblock :( |
# |
May 19th 2021, 08:49 |
kevin.pfeifer |
which for authorization is `\Authorization\Exception\ForbiddenException` |
# |
May 19th 2021, 08:48 |
kevin.pfeifer |
yea and in there you can extend the exceptions array which should be caught and then redirected |
# |
May 19th 2021, 08:48 |
slackebot |
<neon1024> |
# |
May 19th 2021, 08:48 |
neon1024 |
Yes, same! |
# |
May 19th 2021, 08:47 |
kevin.pfeifer |
we had a similar issue on monday :) |
# |
May 19th 2021, 08:47 |
slackebot |
<kevin.pfeifer> |
# |
May 19th 2021, 08:47 |
neon1024 |
Ahok, fair enough, Easily done! |
# |
May 19th 2021, 08:47 |
kevin.pfeifer |
its an options available on the authorization middleware |
# |
May 19th 2021, 08:46 |
kevin.pfeifer |
ah sorry, i mixed up authentication and authorization again |
# |
May 19th 2021, 08:45 |
neon1024 |
https://github.com/cakephp/authentication/blob/2.6.1/src/Middleware/AuthenticationMiddleware.php#L49-L50 |
# |
May 19th 2021, 08:45 |
neon1024 |
I only see a redirect which I have included |
# |
May 19th 2021, 08:44 |
neon1024 |
I don’t see that option, let me double check |
# |
May 19th 2021, 08:43 |
kevin.pfeifer |
you need to add the `\Authorization\Exception\ForbiddenException` to the `unauthorizedHandler` option set in the authenticationmiddleware |
# |
May 19th 2021, 08:43 |
neon1024 |
Feels like a dead-end |
# |
May 19th 2021, 08:43 |
neon1024 |
Even then, I’m unsure how you’d redirect a user from a middleware |
# |
May 19th 2021, 08:41 |
neon1024 |
All I can think is to extend the class and catch the exception myself in the custom class |
# |
May 19th 2021, 08:40 |
neon1024 |
Unless I’m mistaken there seems to be a bug in the Authorization plugin’s RequestAuthorizationMiddleware. If you load it, and hit a url without an indentity, you get an Exception. However, it’s not possible to catch that exception and redirect the user to create an indentity (login) |
# |
May 19th 2021, 01:15 |
ndm |
sometimes... maybe... thanks :upside_down_face: |