public ActionResult Giris([FromBody] GirisDto kullanici) { var user = _apiDbContext.Kullanicilar.FirstOrDefault(k => k.Ad == kullanici.Adi || k.Soyad == kullanici.Soyadi); if (user == null) { return(Unauthorized()); } var tokenHandler = new JwtSecurityTokenHandler(); var key = Encoding.ASCII.GetBytes(_configuration.GetSection("Appsettings:Token").Value); var tokenDescriptor = new SecurityTokenDescriptor { Subject = new ClaimsIdentity(new Claim[] { new Claim(ClaimTypes.NameIdentifier, user.Id.ToString()), new Claim(ClaimTypes.Name, user.Ad), new Claim(ClaimTypes.Surname, user.Soyad) }), Expires = DateTime.Now.AddDays(1), SigningCredentials = new SigningCredentials(new SymmetricSecurityKey(key), SecurityAlgorithms.HmacSha512Signature) }; var token = tokenHandler.CreateToken(tokenDescriptor); var tokenString = tokenHandler.WriteToken(token); return(Ok(tokenString)); }
public async Task <IActionResult> GirisYap([FromBody] GirisDto girisBilgileri, string returnUrl) { return(await HataKontrolluDondur <Task <IActionResult> >(async() => { var kullaniciEntity = await userManager.KullaniciyiGetirKullaniciAdinaGoreAsync(girisBilgileri.KullaniciAdi); if (kullaniciEntity == null || kullaniciEntity.Pasif) { Sonuc sonuc = Sonuc.Basarisiz(new Hata[] { new Hata { Kod = "", Tanim = "Kullanıcı yok veya aktif değil!" } }); return Ok(sonuc); } var result = await signInManager.PasswordSignInAsync(girisBilgileri.KullaniciAdi, girisBilgileri.Sifre, true, true); if (result.IsNotAllowed) { Sonuc sonuc = Sonuc.Basarisiz(new Hata[] { new Hata { Kod = "", Tanim = "Kullanıcının giriş izni yok!" } }); return Ok(sonuc); } if (result.IsLockedOut) { Sonuc sonuc = Sonuc.Basarisiz(new Hata[] { new Hata { Kod = "", Tanim = "Kullanıcı hesabı bloke!" } }); return Ok(sonuc); } if (result.RequiresTwoFactor) { KayitSonuc <object> sonuc = KayitSonuc <object> .Basarisiz(new Hata[] { new Hata { Kod = "", Tanim = "Kullanıcı 2 faktörlü giriş için gerekli işlemler yapılmamış!" } }); return Ok(sonuc); } if (result.Succeeded) { var identity = await GetClaimsIdentity(girisBilgileri, kullaniciEntity); if (identity == null) { return Ok(KayitSonuc <object> .Basarisiz(new Hata[] { new Hata { Kod = "", Tanim = "Kullanıcı adı ve/veya şifre yanlış!" } })); } var jwt = Tokens.GenerateJwt(identity, jwtFactory, girisBilgileri.KullaniciAdi, uygulamaAyarlari); var tokenString = jwt.Result; var kullanici = kullaniciEntity.ToKullaniciBilgi(); kullanici.GecerlilikOmruDakika = (int)uygulamaAyarlari.ValidFor.TotalSeconds; var sonuc = KayitSonuc <object> .IslemTamam(new { tokenString, kullanici, returnUrl }); sonuc.Mesajlar[0] = "Giriş başarılı"; sonuc.Mesajlar.Add($"Hoşgeldiniz {kullanici.TamAdi}!"); return Ok(sonuc); } return Ok(KayitSonuc <object> .Basarisiz(new Hata[] { new Hata { Kod = "", Tanim = "Kullanıcı adı ve/veya şifre yanlış!" } })); })); }
public async Task <IActionResult> GirisYap([FromBody] GirisDto girisBilgileri, string returnUrl) { return(await HataKontrolluDondur <Task <IActionResult> >(async() => { var sonuc = await signInManager.PasswordSignInAsync(girisBilgileri.KullaniciAdi, girisBilgileri.Sifre, true, true); if (sonuc.Succeeded) { return await KullaniciBilgisiVeTokenYarat(girisBilgileri.KullaniciAdi); } return BadRequest("Kullanıcı adı ve/veya şifre yanlış"); })); }
public IActionResult Giris(GirisDto girisDto) { if (girisDto.txtKullaniciAdi == "Salih" && girisDto.txtSifre == "Salih") { return(RedirectToAction("Index", "AdminAnasayfa")); } else { return(View(new GirisCevapDto() { Error = "Kullanıcı Adı Şifresi Yanlış" })); } }
private async Task <ClaimsIdentity> GetClaimsIdentity(GirisDto girisBilgileri, Kullanici kullanici) { if (string.IsNullOrEmpty(girisBilgileri.KullaniciAdi) || string.IsNullOrEmpty(girisBilgileri.Sifre)) { return(await Task.FromResult <ClaimsIdentity>(null)); } // get the user to verifty var userToVerify = kullanici; if (userToVerify == null) { return(await Task.FromResult <ClaimsIdentity>(null)); } // check the credentials if (await userManager.CheckPasswordAsync(userToVerify, girisBilgileri.Sifre)) { return(await Task.FromResult(jwtFactory.GenerateClaimsIdentity(kullanici))); } // Credentials are invalid, or account doesn't exist return(await Task.FromResult <ClaimsIdentity>(null)); }