Ejemplo n.º 1
0
        LoginAsync
            (ViewModels.Users.LoginRequestViewModel viewModel)
        {
            ViewModels.Users.LoginResponseViewModel response = null;

            //response =
            //	UserService.Login(viewModel);

            //response =
            //	await UserService.Login(viewModel);

            await System.Threading.Tasks.Task.Run(() =>
            {
                response =
                    UserService.Login(viewModel);
            });

            if (response == null)
            {
                string errorMessage =
                    "Username and/or password is not correct!";

                return(BadRequest
                           (new ViewModels.General.ErrorViewModel(message: errorMessage)));
            }

            return(Ok(response));
        }
Ejemplo n.º 2
0
        Login(ViewModels.Users.LoginRequestViewModel viewModel)
        {
            if (viewModel == null)
            {
                return(null);
            }

            if (string.IsNullOrWhiteSpace(viewModel.Username))
            {
                return(null);
            }

            if (string.IsNullOrWhiteSpace(viewModel.Password))
            {
                return(null);
            }

            var foundedUser =
                Users
                .Where(current => current.Username.ToLower() == viewModel.Username.ToLower())
                .FirstOrDefault();

            // کار می‌کند EF در
            // کار نمی‌کند EF.Core در
            //var foundedUser =
            //	DatabaseContext.Users
            //	.Where(current => string.Compare(current.Username, viewModel.Username, true) == 0)
            //	.FirstOrDefault();

            // کار می‌کند EF در
            // کار می‌کند EF.Core در
            //var foundedUser =
            //	DatabaseContext.Users
            //	.Where(current => current.Username.ToLower() == viewModel.Username.ToLower())
            //	.FirstOrDefault();

            if (foundedUser == null)
            {
                return(null);
            }

            // Note: Password should be in HASH!
            if (string.Compare(foundedUser.Password, viewModel.Password, ignoreCase: false) != 0)
            {
                return(null);
            }

            // Authentication successful so generate jwt token

            string token =
                Infrastructure.JwtUtility.GenerateJwtToken
                    (user: foundedUser, mainSettings: MainSettings);

            var response =
                new ViewModels.Users.LoginResponseViewModel(user: foundedUser, token: token);

            return(response);
        }
Ejemplo n.º 3
0
        Login(ViewModels.Users.LoginRequestViewModel viewModel)
        {
            if (viewModel == null)
            {
                return(null);
            }

            if (string.IsNullOrWhiteSpace(viewModel.Username))
            {
                return(null);
            }

            if (string.IsNullOrWhiteSpace(viewModel.Password))
            {
                return(null);
            }

            Models.User foundedUser =
                Users
                .Where(current => current.Username.ToLower() == viewModel.Username.ToLower())
                .FirstOrDefault();

            if (foundedUser == null)
            {
                return(null);
            }

            // Note: Password should be in HASH!
            if (string.Compare(foundedUser.Password, viewModel.Password, ignoreCase: false) != 0)
            {
                return(null);
            }

            // Authentication successful so generate jwt token

            string token =
                Infrastructure.JwtUtility.GenerateJwtToken
                    (user: foundedUser, secretKey: MainSettings.SecretKey);

            ViewModels.Users.LoginResponseViewModel response =
                new ViewModels.Users.LoginResponseViewModel(user: foundedUser, token: token);

            return(response);
        }
Ejemplo n.º 4
0
        Login(ViewModels.Users.LoginRequestViewModel viewModel)
        {
            ViewModels.Users.LoginResponseViewModel response = null;

            //response =
            //	UserService.Login(viewModel);

            await System.Threading.Tasks.Task.Run(() =>
            {
                response =
                    UserService.Login(viewModel);
            });

            if (response == null)
            {
                return(NotFound
                           (new { message = "Username and/or password is not correct!" }));
            }

            return(Ok(response));
        }