@abc.abstractmethod<EOL><INDENT>def login(self):<DEDENT>
Launches the *login procedure* to get **user's credentials** from
**provider**.

Should be decorated with :func:`.login_decorator`. The *login
procedure* is considered finished when the :attr:`.user`
attribute is not empty when the method runs out of it's flow or
when there are errors.