public SignInUserCommand(UserSignInInput signInInput, IJwtSigningEncodingKey signingEncodingKey) { Guard.IsNotNull(signInInput, nameof(signInInput)); Guard.IsNotNull(signingEncodingKey, nameof(signingEncodingKey)); _signInInput = signInInput; _signingEncodingKey = signingEncodingKey; }
public ActionResult SignIn([FromBody] UserSignInInput signInInput) { if (signInInput == null) { return(BadRequest("Wrong input parameters")); } var token = new SignInUserCommand(signInInput, _signingEncodingKey) .Execute(_userRepository); return(Ok(token)); }
public async Task <IActionResult> SignIn([FromBody] UserSignInInput userSignIn) { // Get user var user = await _user.GetByNameOrEmailAsync(userSignIn.NameId); if (user == null) { return(BadRequest()); } if (string.IsNullOrEmpty(userSignIn.TwoFactorCode) && user.TwoFactorEnabled) { return(BadRequest("MISSING_2FA")); } // try sign in var signResult = await _userAuth.SignInAsync(user, userSignIn.Password, userSignIn.TwoFactorCode); if (signResult.Succeeded) { // Generatetoken var token = await _userAuth.GenerateJWTokenFromUserAsync(user); if (token == null) { return(BadRequest()); } return(Ok(new SignInSuccessResult { Token = token, })); } else if (signResult.IsNotAllowed || signResult.IsLockedOut) { return(Forbid()); } return(BadRequest()); }