ユーザー認証方法
AuthComponentではなく、authentication plugin を使うことになったらしい。
詳しくは
シンプルな認証と認可のアプリケーション
別テーブルを使う場合
public function getAuthenticationService(ServerRequestInterface $request): AuthenticationServiceInterface
{
$authenticationService = new AuthenticationService([
'unauthenticatedRedirect' => '/users/login',
'queryParam' => 'redirect',
]);
// 識別子をロードして、電子メールとパスワードのフィールドを確認します
$authenticationService->loadIdentifier('Authentication.Password', [
'fields' => [
'username' => 'email',
'password' => 'password',
]
]);
↓追加
public function getAuthenticationService(ServerRequestInterface $request): AuthenticationServiceInterface
{
$authenticationService = new AuthenticationService([
'unauthenticatedRedirect' => '/users/login',
'queryParam' => 'redirect',
]);
// 識別子をロードして、電子メールとパスワードのフィールドを確認します
$authenticationService->loadIdentifier('Authentication.Password', [
'resolver'=>[
'className' => 'Authentication.Orm',
'userModel' => '[ユーザーテーブル]'
],
'fields' => [
'username' => 'email',
'password' => 'password',
]
]);