public async Task <ActionResult> SignIn(SingInViewModelResource signInViewModelResource) { var response = await authenticationService.SignIn(signInViewModelResource); if (response.Success) { return(Ok(response.Extra)); } else { return(BadRequest(response.Message)); } }
public async Task <BaseResponse <AccessToken> > SignIn(SingInViewModelResource singInViewModel) { // bir nevi login islemi ApplicationUser user = await userManager.FindByEmailAsync(singInViewModel.Email); if (user != null) { bool IsUser = await userManager.CheckPasswordAsync(user, singInViewModel.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()); //daha once kullanicin refreshtokin varmi kontrol edecegiz List <Claim> refreshClaimList = userManager.GetClaimsAsync(user).Result.Where(c => c.Type.Contains("refreshToken")).ToList(); if (refreshClaimList.Any()) { //(user,degistirilecek,yeni olanı kaydetme refresTokenClaim) await userManager.ReplaceClaimAsync(user, refreshClaimList[0], refreshTokenClaim); await userManager.ReplaceClaimAsync(user, refreshClaimList[1], refreshTokenClaim); } else { await userManager.AddClaimsAsync(user, new[] { refreshTokenClaim, refreshTokenEndDateClaim }); } return(new BaseResponse <AccessToken>(accessToken)); } return(new BaseResponse <AccessToken>("şifre yanlış")); } return(new BaseResponse <AccessToken>("Email yanlış")); }