public async Task <IActionResult> Post([FromForm] KorisnikToRegisterDTO korisnik) { var korisnikZaRegistraciju = _mapper.Map <Korisnik>(korisnik); korisnikZaRegistraciju.Email = korisnik.Email.ToLower().Trim(); korisnikZaRegistraciju.KorisnickoIme = korisnik.KorisnickoIme.ToLower().Trim(); if (korisnikZaRegistraciju.Telefon != null) { korisnikZaRegistraciju.Telefon = korisnik.Telefon.ToLower().Trim(); } else { korisnikZaRegistraciju.Telefon = null; } if (await _logic.ProveraPostojecih(korisnikZaRegistraciju.Email, korisnikZaRegistraciju.Telefon, korisnikZaRegistraciju.KorisnickoIme)) { return(BadRequest("Korisnik sa ovim parametrima vec postoji")); } var registrovanKorisnik = await _logic.Register(korisnikZaRegistraciju); if (registrovanKorisnik == null) { return(BadRequest("Trenutno nije moguce registrovati se")); } var claims = new[] { new Claim(ClaimTypes.NameIdentifier, registrovanKorisnik.KorisnikID.ToString()), new Claim(ClaimTypes.Name, registrovanKorisnik.KorisnickoIme) }; var key = new SymmetricSecurityKey(Encoding.UTF8. GetBytes(_config.GetSection("AppSettings:Token").Value)); var creds = new SigningCredentials(key, SecurityAlgorithms.HmacSha512Signature); var tokenDescriptor = new SecurityTokenDescriptor { Subject = new ClaimsIdentity(claims), Expires = DateTime.Now.AddDays(1), SigningCredentials = creds }; var tokenHandler = new JwtSecurityTokenHandler(); var token = tokenHandler.CreateToken(tokenDescriptor); return(Ok(new { token = tokenHandler.WriteToken(token) })); }
public IActionResult Register(RegisterRequest model) { try { bool response = _authLogic.Register(model); if (!response) { return(BadRequest(new { message = "Username is already in use" })); } return(Ok(response)); } catch (Exception e) { return(BadRequest(new { message = e.ToString() })); } }
public string Register([Service] IAuthLogic authLogic, RegisterInputType registerInput) { return(authLogic.Register(registerInput)); }