Change project structure without breaking compatibility with exists code
Fix tests
Use sha1 instead of md5 for hashing key
Add token model for tracking expired
Check token expiration in middleware
Renew attached to request csrf token if expired