[WIP] Evented implementation for Zend Auth
I've been playing around with making the core of Zend Auth event based, this is very much a WIP but the idea is to support the use cases in the cookbook directory.
Feedback would be appreciated; if it is agreed that this is the right direction to go, I can finish off the code: add tests, docs and migrate the existing adapters to listeners.
After talking with @akrabat at PHPUK I've updated this adding back in some backward compatibility.
The remaining BC breaks are:
authenticate method used to take an adapter; this doesn't quite make sense via the new event based internals and instead needs to take parameters to authenticate against.
I've removed the get/set adapter methods and replaced with an addAdapter method (get/set makes no sense with multiple adapter setup)
It should be noted however that the service still complies with it's interface.
@carnage If you're still interested in this approach (and it does look interesting!), please rebase against current develop and re-target the PR against that branch so we can review.
Thanks!
I'd totally forgotten about this PR
Will try and get some time to bring it up to spec in the next few weeks
@weierophinney how keen are you to preserve BC here? Zend auth has basically remained the same since ZF1 and could really use a bit of refactoring (eg adaptors which require you to set them up in advance as opposed to authenticating against given paramters)
This repository has been closed and moved to laminas/laminas-authentication; a new issue has been opened at https://github.com/laminas/laminas-authentication/issues/7.
This repository has been moved to laminas/laminas-authentication. If you feel that this patch is still relevant, please re-open against that repository, and reference this issue. To re-open, we suggest the following workflow:
- Squash all commits in your branch (
git rebase -i origin/{branch}) - Make a note of all changed files (`git diff --name-only origin/{branch}...HEAD
- Run the laminas/laminas-migration tool on the code.
- Clone laminas/laminas-authentication to another directory.
- Copy the files from the second bullet point to the clone of laminas/laminas-authentication.
- In your clone of laminas/laminas-authentication, commit the files, push to your fork, and open the new PR. We will be providing tooling via laminas/laminas-migration soon to help automate the process.