[refactor] login refactor with async hooks

Implement an async/series for login workflow, this will allow to execute before & after hooks in a sync way.