Example #1
0
        public async Task <IActionResult> Register([FromBody] User user)
        {
            if (!ModelState.IsValid)
            {
                Response.AddApplicationError("Veri istenildiği gibi getirilemedi.");
                return(BadRequest(ModelState));
            }


            var identityUser = new ApplicationIdentityUser
            {
                Email                 = user.Email,
                UserName              = user.Username,
                Firstname             = user.Firstname,
                Lastname              = user.Lastname,
                CookieAcceptIpAddress = user.CookieAcceptIpAddress,
                SSN = user.SSN
            };

            var createdUser =
                await _userManager.CreateAsync(
                    identityUser, user.Password);

            if (createdUser.Succeeded)
            {
                return(StatusCode(201));
            }
            return(BadRequest("Kullanıcı oluşturulamadı"));
        }
Example #2
0
        public async Task <IActionResult> Login(AuthenticationCredentials creds)
        {
            try {
                var user = await _userRepo.LoginAsync(creds);

                if (user == null)
                {
                    return(BadRequest(new { CustomErrorMessage = "User Not Found." }));
                }
                else
                {
                    var claims = new[] {
                        new Claim(ClaimTypes.NameIdentifier, user.Id.ToString()),
                        new Claim(ClaimTypes.Name, user.UserName.ToString())
                    };
                    var secretKey   = _config.GetSection("AppSettings:Token").Value;
                    var secretBytes = Encoding.UTF8.GetBytes(secretKey);
                    var key         = new SymmetricSecurityKey(secretBytes);

                    var signingCreds    = new SigningCredentials(key, SecurityAlgorithms.HmacSha512Signature);
                    var tokenDescriptor = new SecurityTokenDescriptor()
                    {
                        Subject            = new ClaimsIdentity(claims),
                        Expires            = DateTime.Now.AddDays(1),
                        SigningCredentials = signingCreds
                    };
                    var tokenHandler = new JwtSecurityTokenHandler();
                    var token        = tokenHandler.CreateToken(tokenDescriptor);

                    var mytok = tokenHandler.WriteToken(token);
                    return(Ok(new ApiToken {
                        Token = mytok
                    }));
                }
            } catch (Exception ex) {
                Response.AddApplicationError("Failed To Log In");
                return(StatusCode(500));

                throw;
            }
        }