Implement OAuth login and controller auth