I use the CallbackCheckAdapter myself and it works like a charm. For me it was a lot easier to get it working than the CredentialTreatmentAdapter although I do not recall why…
Also, if you are using laminas-form you can use Laminas\Authentication\Validator\Authentication to perform the login.
[…] this adapter [DbTable Credential Treatment Adapter] is not recommended for new applications, and existing applications should consider migrating to using PHP-provided password handling functions such as password_hash() and password_verify(). See CallbackCheckAdapter for more info.