public async Task <BaseResponse <AccessToken> > SignIn(SignInViewModelResource signInViewModel) { AppUser user = await userManager.FindByEmailAsync(signInViewModel.Email); if (user != null) { bool isUser = await userManager.CheckPasswordAsync(user, signInViewModel.Password); if (isUser) { AccessToken accessToken = tokenHandler.CreateAccessToken(user); Claim refreshTokenClaim = new Claim("refreshToken", accessToken.RefreshToken); Claim refreshTokenEndDateClaim = new Claim("refreshTokenEndDate", DateTime.Now.AddMinutes(tokenOptions.RefreshTokenExpiration).ToString()); List <Claim> refreshClaimList = userManager.GetClaimsAsync(user).Result.Where(c => c.Type.Contains("refreshToken")).ToList(); if (refreshClaimList.Any()) { await userManager.ReplaceClaimAsync(user, refreshClaimList[0], refreshTokenClaim); await userManager.ReplaceClaimAsync(user, refreshClaimList[1], refreshTokenEndDateClaim); } else { await userManager.AddClaimsAsync(user, new[] { refreshTokenClaim, refreshTokenEndDateClaim }); } return(new BaseResponse <AccessToken>(accessToken)); } return(new BaseResponse <AccessToken>("Email veya Şifre Hatalı!")); } return(new BaseResponse <AccessToken>("Email veya Şifre Hatalı!")); }
public async Task <IActionResult> SignIn(SignInViewModelResource signInViewModel) { var response = await authenticationService.SignIn(signInViewModel); if (response.Success) { return(Ok(response.Extra)); } else { return(BadRequest(response.Message)); } }