Adding login controller interaction with authentication provider and some supporting classes.