@spec login(
Plug.Conn.t(),
%{
:additional_params => map(),
:authorization_endpoint => any(),
:cache_pid => atom() | pid() | {atom(), any()} | {:via, atom(), any()},
:client_id => any(),
:redirect_uri => any(),
:scopes => any(),
optional(any()) => any()
},
any(),
map()
) :: Plug.Conn.t()