1. refined user login logic
2. change login body to json