public static LoginAuthedUserDTO Login(BaseLoginViewModel model)
        {
            LoginAuthedUserDTO resultDtoModel = null;

            switch (model.LoginType)
            {
            case LoginTypeEnum.Password:
                var provider = new PasswordLoginAuthProvider();
                resultDtoModel = provider.Login(model as PasswordLoginViewModel);
                break;

            case LoginTypeEnum.OAuth2:
                var provider_oauth = new OAuthLoginAuthProvider();
                resultDtoModel = provider_oauth.Login(model as OAuthLoginViewModel);
                break;

            case LoginTypeEnum.WeChat:
                ///throw new NotImplementedException();
                break;

            default:
                break;
            }
            if (null != resultDtoModel)
            {
                resultDtoModel.LoginType = model.LoginType;
            }

            return(resultDtoModel);
        }
Beispiel #2
0
        private async Task <bool> _checkUserNameIsUnic(BaseLoginViewModel model)
        {
            var existName = await _userManager.Users.FirstOrDefaultAsync(i => i.UserName == model.UserName);

            if (existName != null)
            {
                _logger.LogInformation($"userName is exists userName:{model.UserName} ");
                ModelState.AddModelError(string.Empty, "User name not unic");
                return(false);
            }
            return(true);
        }
Beispiel #3
0
        public async Task <IActionResult> Login([FromBody] BaseLoginViewModel user)
        {
            if (ModelState.IsValid)
            {
                await signOut();

                var signInModel = await _userDataService.SigninUser(user.EmailAddress, user.Password);

                if (signInModel.Login == Service.Enum.LoginEnum.Successful)
                {
                    await signIn(signInModel);

                    return(Ok());
                }
                else
                {
                    return(BadRequest(signInModel.Login));
                }
            }
            return(BadRequest());
        }