Auth custom finder

Auth finder do akceptacji logowania


Model/UserTable.php

use Cake\ORM\Query

....
public function findForAuthentication(Query $query, array $options): Query
{
  return $query->where(['is_active' => true]);
}

src/Application.php

$fields = [
   AbstractIdentifier::CREDENTIAL_USERNAME => 'username',
   AbstractIdentifier::CREDENTIAL_PASSWORD => 'password'
];
.....

$service->loadIdentifier('Authentication.Password', [
  compact('fields'),
  'resolver' => [
      'className' => 'Authentication.Orm',
      'userModel' => 'Users',
      'finder'    => 'forAuthentication',
  ],
]);

Lub starsze wersje – tablica fields

$service->loadIdentifier('Authentication.Password', [
  'fields' => [
          'username' => 'userdata.email',
          'password' => 'PasswordHashed',
      ],
  'resolver' => [
      'className' => 'Authentication.Orm',
      'userModel' => 'Users',
      'finder'    => 'forAuthentication',
  ],
]);