コード例 #1
0
        public void Register(RegisterRequestResource registerReq)
        {
            byte[] passwordHash, passwordKey;

            using (var hmac = new HMACSHA512())
            {
                passwordKey  = hmac.Key;
                passwordHash = hmac.ComputeHash(System.Text.Encoding.UTF8.GetBytes(registerReq.Password));
            }



            User user = new User();

            user.UserName    = registerReq.UserName;
            user.Password    = passwordHash;
            user.PasswordKey = passwordKey;
            user.Firstname   = registerReq.Firstname;
            user.Lastname    = registerReq.Lastname;
            user.Email       = registerReq.Email;
            user.DateOfBirth = registerReq.DateOfBirth;
            user.IsActive    = true;

            var sql = "INSERT INTO Users(UserName,Firstname,Lastname,IsActive,Email,DateOfBirth,Password,PasswordKey) VALUES(@UserName,@Firstname,@Lastname,@IsActive,@Email,@DateOfBirth,@Password,@PasswordKey)";

            db.Execute(sql, user);
        }
コード例 #2
0
        public async Task <IActionResult> Register(RegisterRequestResource registerRequestResource)
        {
            var user = _mapper.Map <User>(registerRequestResource);

            _unitOfWork.Auth.Registered += _emailSender.OnUserRegistration;

            user = await _unitOfWork.Auth.Register(user, registerRequestResource.Password, Url, Request);

            return(NoContent());
        }
コード例 #3
0
        public async Task <IActionResult> Register(RegisterRequestResource registerRequestResource)
        {
            var user = _mapper.Map <User>(registerRequestResource);

            user = await _auth.Register(user, registerRequestResource.Password);

            var userResponseResource = _mapper.Map <UserResponseResource>(user);

            // return Ok(new {token =  Functions.generateUserToken(user,_config), user = userResponseResource });
            return(Ok(userResponseResource));
        }
コード例 #4
0
        public async Task <IActionResult> Register(RegisterRequestResource registerRequestResource)
        {
            User newUser = _mapper.Map <User>(registerRequestResource);

            var user = await _auth.Register(newUser, registerRequestResource.Pin, registerRequestResource.Referer);

            var userResponseResource = _mapper.Map <UserResponseResource>(user);

            userResponseResource.Code = await _auth.GenerateSMSCode(user, user.PhoneNumber);

            // _repo.SaveCode(userResponseResource.Id, userResponseResource.Code);
            // if(await _repo.SaveAll())
            // return CreatedAtRoute(nameof(GetUser), new {UserId = newUser.Id }, userResponseResource);
            return(Ok(new { user = userResponseResource, token = TokenFunctions.generateUserToken(user, _config, true) }));
        }
コード例 #5
0
        public void Register(RegisterRequestResource registerReq)
        {
            byte[] passwordHash, passwordKey;

            using (var hmac = new HMACSHA512())
            {
                passwordKey  = hmac.Key;
                passwordHash = hmac.ComputeHash(System.Text.Encoding.UTF8.GetBytes(registerReq.Password));
            }

            User user = new User();

            user.UserName    = registerReq.UserName;
            user.Password    = passwordHash;
            user.PasswordKey = passwordKey;
            user.Firstname   = registerReq.Firstname;
            user.Lastname    = registerReq.Lastname;
            user.Email       = registerReq.Email;
            user.DateOfBirth = registerReq.DateOfBirth;

            dc.Users.Add(user);
        }
コード例 #6
0
        public async Task <IActionResult> Register(RegisterRequestResource registerReq)
        {
            if (await userRepo.UserAlreadyExists(registerReq.UserName))
            {
                return(BadRequest("User already exists, please try something else"));
            }

            userRepo.Register(registerReq);
            //await userRepo.SaveChanges();

            var user = await userRepo.Authenticate(registerReq.UserName, registerReq.Password);

            if (user == null)
            {
                return(Unauthorized());
            }

            var loginRes = new LoginResponseResource();

            loginRes.UserName = registerReq.UserName;
            loginRes.Token    = CreateJWT(user);

            return(Ok(loginRes));//StatusCode(201);
        }