* fix: added cost() to cloneable interface
* fix: added a new metrics and converted into counters
* fix: address comments
* fix: simplify test
* fix: use assert instead of require
## 📄 Summary
- Instead of relying on JWT for session management, we are adding another token system: opaque. This gives the benefits of expiration and revocation.
- We are now ensuring that emails are regex checked throughout the backend.
- Support has been added for OIDC protocol