login task with timeout and DI