コード例 #1
0
        public async Task <IActionResult> Register(CreateUserAPIRequest user)
        {
            if (await _repo.UserExistsAsync(user.username.ToLower()))
            {
                return(BadRequest("Username already Exists"));
            }


            var result = await _repo.RegisterAsync(user);

            if (result == null)
            {
                return(BadRequest("An error occured saving changes"));
            }
            return(CreatedAtRoute("GetUser", new { Controller = "Users", UserUniqueIdentity = result.UserUniqueIdentity }, result));
        }
コード例 #2
0
        public async Task <SuccessCreateUserResponse> RegisterAsync(CreateUserAPIRequest request)
        {
            try
            {
                _logger.LogInfo(request.username + " Creating user...", "RegisterAsync");
                byte[] passwordhash, passwordSalt;
                CreatePasswordHash(request.password, out passwordhash, out passwordSalt);

                var user = new User
                {
                    PasswordHash       = passwordhash,
                    PasswordSalt       = passwordSalt,
                    Email              = request.Email,
                    Username           = request.username,
                    UserUniqueIdentity = Guid.NewGuid()
                };
                await _context.Users.AddAsync(user);

                var success = await _context.SaveChangesAsync() > 0;

                if (success)
                {
                    _logger.LogInfo(request.username + " Created Successfully", "RegisterAsync");
                    return(new SuccessCreateUserResponse
                    {
                        Email = user.Email,
                        Username = user.Username,
                        UserUniqueIdentity = user.UserUniqueIdentity
                    });
                }
                return(null);
            }
            catch (Exception ex)
            {
                _logger.LogError(ex.Message + " " + "Inner Exception" + ex.InnerException?.Message, "  AuthenticationRepositoryRegisterAsync");

                return(default);