コード例 #1
0
        public async Task <IHttpActionResult> ValidateRegisteredUser(string code, string userId)
        {
            if (string.IsNullOrWhiteSpace(code) || string.IsNullOrWhiteSpace(userId))
            {
                return(BadRequest("Invalid data."));
            }
            var response = await _userBusiness.ValidateRegisteredUser(code, userId);

            if (response == null)
            {
                return(Ok(new ResponseModel <string>(ResponseStatus.NotFound, null, "Invalid verification code.")));
            }
            var token         = _tokenGenerator.GenerateUserToken(response);
            var validatedUser = new ValidatedUserResponse(response.Name, token);

            return(Ok(new ResponseModel <ValidatedUserResponse>(ResponseStatus.Ok, validatedUser, "User has been authenticated successfully.")));
        }
コード例 #2
0
        public async Task <IHttpActionResult> Login(LoginViewModel login)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest("Invalid login data"));
            }
            var loggedInUser = await _userBusiness.UserLogin(login.Phone, login.IsVerificationRequired);

            if (loggedInUser == null || string.IsNullOrWhiteSpace(loggedInUser.UserId))
            {
                return(Ok(new ResponseModel <string>(ResponseStatus.NotFound, null, "User Not found")));
            }
            ValidatedUserResponse validatedUser = null;

            if (login.IsVerificationRequired)
            {
                validatedUser = new ValidatedUserResponse(loggedInUser.Name, null, loggedInUser.UserId);
                return(Ok(new ResponseModel <ValidatedUserResponse>(ResponseStatus.Ok, validatedUser, "")));
            }
            var token = _tokenGenerator.GenerateUserToken(loggedInUser);

            validatedUser = new ValidatedUserResponse(loggedInUser.Name, token, null);
            return(Ok(new ResponseModel <ValidatedUserResponse>(ResponseStatus.Ok, validatedUser, "")));
        }