Add user authentication functionality
Merge branch 'user-management' into develop