The order of the functions is closely related to the order they are called.
First it is checked if automatic login is possible with this method.
If so it is tried via the performAutoLogin function.
When a user provides credentials the authenticate function is called.