Refactored Auth

Provide new auth models
Provide unit-test
Refactor auth mechanism
Delete obsolete models