Log message #4262741

# At Username Text
# May 8th 2021, 05:47 jigar23121987 Hello
# May 8th 2021, 02:43 kholby I've read the relevant sections of the book several times, and I cannot figure out what I'm missing.
# May 8th 2021, 02:42 kholby Hello, I have an old CakePHP application (2.6.1) and I am trying to add a new model, ProductDocument, which belongs to a Product. I added both the belongsTo and the hasMany, but the Product is not present when I query ProductDocuments.
# May 7th 2021, 23:37 thomas078 will try to solve that later
# May 7th 2021, 23:32 thomas078 For your redirect problem, you can debug if you land here, and if you get a valid redirect url: https://github.com/cakephp/authentication/blob/1.x/src/Middleware/AuthenticationMiddleware.php#L129-L137 Did not land there
# May 7th 2021, 23:30 thomas078 But something positive as well. Authorization looks great.
# May 7th 2021, 23:30 thomas078 inside Application.php -> public function getAuthenticationService(ServerRequestInterface $request, ResponseInterface $response)     {
# May 7th 2021, 23:27 ndm I mean... I have no idea where you debugged that :upside_down_face:
# May 7th 2021, 23:14 thomas078 it is there at middleware level. Just does not work
# May 7th 2021, 23:13 slackebot "identityAttribute" => "identity" "queryParam" => "redirect" "unauthenticatedRedirect" => "/users/login" ] #_configInitialized: true }```
# May 7th 2021, 23:13 thomas078 ```^ Authentication\AuthenticationService {#47 ▼ #_authenticators: Authentication\Authenticator\AuthenticatorCollection {#49 ▶} #_identifiers: Authentication\Identifier\IdentifierCollection {#46 ▶} #_successfulAuthenticator: null #_result: null #_defaultConfig: array:6 [▶] #_config: array:6 [▼ "authenticators" => [] "identifiers" => [] "identityClass" => "Authentication\Identity"
# May 7th 2021, 23:06 thomas078 let me try to debug it properly
# May 7th 2021, 23:06 slackebot 'fields' => [ 'username' => 'username', 'password' => 'password', ] ]); // Load the authenticators $service->loadAuthenticator('Authentication.Session'); $service->loadAuthenticator('Authentication.Form'); return $service; }```
# May 7th 2021, 23:06 thomas078 ``` public function getAuthenticationService(ServerRequestInterface $request, ResponseInterface $response) { // Instantiate the service $service = new AuthenticationService(); $service->setConfig([ 'unauthenticatedRedirect' => '/users/login', 'queryParam' => 'redirect', ]); // Load identifiers $service->loadIdentifier('Authentication.Password', [
# May 7th 2021, 23:03 ndm Don't let the trace fool you, you wouldn't see an entry for the middleware in there, as the exception is being rethrown. Add a debug statement or a breakpoint in the middleware to be sure.
# May 7th 2021, 22:56 slackebot /home/tomppa/www/gtms/vendor/cakephp/cakephp/src/Http/Server.php(97): Cake\Http\Runner->run() #20 /home/tomppa/www/gtms/webroot/index.php(40): Cake\Http\Server->run() #21 {main} Request URL: /users/index```
# May 7th 2021, 22:56 slackebot /home/tomppa/www/gtms/vendor/cakephp/authentication/src/Middleware/AuthenticationMiddleware.php(116): Cake\Http\Runner->__invoke() #17 /home/tomppa/www/gtms/vendor/cakephp/cakephp/src/Http/Runner.php(65): Authentication\Middleware\AuthenticationMiddleware->__invoke() #18 /home/tomppa/www/gtms/vendor/cakephp/cakephp/src/Http/Runner.php(51): Cake\Http\Runner->__invoke() #19
# May 7th 2021, 22:56 slackebot /home/tomppa/www/gtms/vendor/cakephp/cakephp/src/Http/Runner.php(65): Cake\Routing\Middleware\AssetMiddleware->__invoke() #14 /home/tomppa/www/gtms/vendor/cakephp/cakephp/src/Error/Middleware/ErrorHandlerMiddleware.php(96): Cake\Http\Runner->__invoke() #15 /home/tomppa/www/gtms/vendor/cakephp/cakephp/src/Http/Runner.php(65): Cake\Error\Middleware\ErrorHandlerMiddleware->__invoke() #16
# May 7th 2021, 22:56 slackebot /home/tomppa/www/gtms/vendor/cakephp/cakephp/src/Routing/Middleware/RoutingMiddleware.php(164): Cake\Http\Runner->__invoke() #11 /home/tomppa/www/gtms/vendor/cakephp/cakephp/src/Http/Runner.php(65): Cake\Routing\Middleware\RoutingMiddleware->__invoke() #12 /home/tomppa/www/gtms/vendor/cakephp/cakephp/src/Routing/Middleware/AssetMiddleware.php(88): Cake\Http\Runner->__invoke() #13
# May 7th 2021, 22:56 slackebot /home/tomppa/www/gtms/vendor/cakephp/cakephp/src/Http/Runner.php(65): Cake\Http\BaseApplication->__invoke() #8 /home/tomppa/www/gtms/vendor/cakephp/cakephp/src/Http/Middleware/CsrfProtectionMiddleware.php(124): Cake\Http\Runner->__invoke() #9 /home/tomppa/www/gtms/vendor/cakephp/cakephp/src/Http/Runner.php(65): Cake\Http\Middleware\CsrfProtectionMiddleware->__invoke() #10
# May 7th 2021, 22:56 slackebot /home/tomppa/www/gtms/vendor/cakephp/cakephp/src/Http/ActionDispatcher.php(115): Cake\Controller\Controller->startupProcess() #5 /home/tomppa/www/gtms/vendor/cakephp/cakephp/src/Http/ActionDispatcher.php(94): Cake\Http\ActionDispatcher->_invoke() #6 /home/tomppa/www/gtms/vendor/cakephp/cakephp/src/Http/BaseApplication.php(234): Cake\Http\ActionDispatcher->dispatch() #7
# May 7th 2021, 22:56 slackebot /home/tomppa/www/gtms/vendor/cakephp/cakephp/src/Event/EventManager.php(329): Cake\Event\EventManager->_callListener() #2 /home/tomppa/www/gtms/vendor/cakephp/cakephp/src/Event/EventDispatcherTrait.php(113): Cake\Event\EventManager->dispatch() #3 /home/tomppa/www/gtms/vendor/cakephp/cakephp/src/Controller/Controller.php(680): Cake\Controller\Controller->dispatchEvent() #4
# May 7th 2021, 22:56 thomas078 ``` Error: [Authentication\Authenticator\UnauthenticatedException] No identity found. You can skip this check by configuring `requireIdentity` to be `false`. (/home/tomppa/www/gtms/vendor/cakephp/authentication/src/Controller/Component/AuthenticationComponent.php:153) #0 /home/tomppa/www/gtms/vendor/cakephp/cakephp/src/Event/EventManager.php(352): Authentication\Controller\Component\AuthenticationComponent->startup() #1
# May 7th 2021, 22:56 thomas078 does not land there.
# May 7th 2021, 22:52 ndm For your redirect problem, you can debug if you land here, and if you get a valid redirect url: https://github.com/cakephp/authentication/blob/1.x/src/Middleware/AuthenticationMiddleware.php#L129-L137
# May 7th 2021, 22:50 ndm 1.x is for CakePHP 3.x, and 2.x is for CakePHP 4.x, for both authentication and authorization
# May 7th 2021, 22:48 thomas078 Also found something strange. Method 'App\Application::getAuthorizationService()' is not compatible with method 'Authorization\AuthorizationServiceProviderInterface::getAuthorizationService()' Trying to implement this in cake3.9. had to install composer require "cakephp/authorization:^1.0" instead of 2.0. Maybe this is not compatible with authentication 1.0?
# May 7th 2021, 22:46 thomas078 strange as authentication middleware works
# May 7th 2021, 22:45 ndm Maybe the authentication middleware is misplaced and something else handles the exception.
# May 7th 2021, 22:42 thomas078 Application.php
# May 7th 2021, 22:39 ndm maybe you're setting this in the wrong place
# May 7th 2021, 22:30 thomas078 i set $service->setConfig([             'unauthenticatedRedirect' => '/users/login',             'queryParam' => 'redirect',         ]); but still i get *Error:* No identity found. You can skip this check by configuring `requireIdentity` to be `false`. but no redirect?
# May 7th 2021, 22:28 thomas078 then i will really see the whole scope to see how much work to migrate from cake 3 to 4
# May 7th 2021, 22:27 thomas078 sure. Will test that as well
# May 7th 2021, 22:21 ndm correct, authorization checks are done in policies now
# May 7th 2021, 22:20 thomas078 and that old inAuthorized is not called nomore
# May 7th 2021, 22:20 thomas078 I guess this is now with Authorization plugin
# May 7th 2021, 22:19 thomas078 ok. Authentication set. Now basic Authorization. I used to do it like: public function isAuthorized($user)
# May 7th 2021, 22:12 ndm yes
# May 7th 2021, 22:12 thomas078 So, basically with that i can manually set it
# May 7th 2021, 22:11 thomas078 ok. Got it. I was confused as Authentication already worked :)