예제 #1
0
        public async Task <IActionResult> Post([FromBody] UserModel userModel)
        {
            if (!ModelState.IsValid)
            {
                logger.LogInformation($"Invalid model state: {string.Concat(ModelState.Values.Select(x => x.Errors.Select(r => r.ErrorMessage)))}");
                return(BadRequest(ModelState));
            }

            var authenticationResult = await authenticationStrategy.Authenticate(userModel, HttpContext.GetMobileHeader());

            if (authenticationResult.Succeed)
            {
                var authenticatedUser = await authenticationStrategy.GetAuthenticatedUser();

                return(Ok(authenticatedUser));
            }
            else
            {
                return(BadRequest(authenticationResult.Error));
            }
        }