Core : refactoring Authentication