예제 #1
0
        public async Task <string> Register(RegisterDTO data)
        {
            var user = new UserAccount
            {
                FirstName        = data.FirstName,
                LastName         = data.LastName,
                UserName         = data.Email,
                Email            = data.Email,
                ProfileImagePath = data.ProfileImagePath
            };

            var result = await userManager.CreateAsync(user, data.Password);

            if (result.Succeeded)
            {
                var role = data.IsEmployee ? "employee" : "client";
                var roleAsignmentResult = await userManager.AddToRoleAsync(user, role);

                if (roleAsignmentResult.Succeeded)
                {
                    return(await TokenProvider.GetJwtToken(user.UserName, userManager));
                }
                return(null);
            }
            return(null);
        }
예제 #2
0
        public async Task <string> Login(LoginDTO data)
        {
            var user = await userManager.FindByNameAsync(data.Email);

            if (user != null)
            {
                var verificationResult = userManager.PasswordHasher.VerifyHashedPassword(user, user.PasswordHash, data.Password);
                if (verificationResult == PasswordVerificationResult.Success || verificationResult == PasswordVerificationResult.SuccessRehashNeeded)
                {
                    return(await TokenProvider.GetJwtToken(user.UserName, userManager));
                }
                return(null);
            }

            return(null);
        }