Example #1
0
        public async Task <IActionResult> Login([FromBody]  LoginViewModels loginUser)
        {
            var user = await _usersService.FindUserLoginAsync(loginUser.UserName, loginUser.Password);

            var(accessToken, refreshToken) = await _tokenStoreService.CreateJwtTokens(user, refreshTokenSource : null);

            return(Ok(GetRequestResult(new { access_token = accessToken, refresh_token = refreshToken })));
        }
Example #2
0
        public async Task <IActionResult> Login([FromBody]  LoginInfo loginUser)
        {
            bool canILogin = false;

            if (!ModelState.IsValid)
            {
                return(BadRequest("لطفا داده های ورودی خود را کنترل فرمایید"));
            }
            var user = await _usersService.FindUserAsync(loginUser.Username, loginUser.Password).ConfigureAwait(false);

            if (user == null)
            {
                user = await _usersService.FindUserAsync(loginUser.Username).ConfigureAwait(false);

                if (user == null)
                {
                    return(Unauthorized());
                }
                var activePolicy = await _policyService.FindActiveAsync();

                _usersService.FailedLoginAttempt(user, activePolicy);
                var loginFailure = GetLogin(false, user);
                _loginService.Add(loginFailure);
                await _uow.SaveChangesAsync().ConfigureAwait(false);

                return(Unauthorized());
            }
            canILogin = user != null && user.IsActive;
            if (!canILogin)
            {
                return(Unauthorized());
            }
            if (!_usersService.CanILogin(user))
            {
                return(BadRequest("به دلیل وارد کردن یوزر و پسوورد اشتباه نام کاربری شما قفل شده است"));
            }
            if (await _roleService.IsDeviceIdRequired(user.Id))
            {
                if (!_usersService.CanMathDeviceId(user, loginUser))
                {
                    return(BadRequest("لطفا ورودی های خود را کنترل فرمایید"));
                }
            }
            var accessList = await _authLevelService.GetMyAccessListAsync(user.Id);

            var(accessToken, refreshToken) = await _tokenStoreService.CreateJwtTokens(user).ConfigureAwait(false);

            var loginSuccess = GetLogin(true, user);

            _loginService.Add(loginSuccess);
            _usersService.SuccessLoginAttempt(user);
            await _uow.SaveChangesAsync().ConfigureAwait(false);

            return(Ok(new { access_token = accessToken, refresh_token = refreshToken, accessList = accessList }));
        }
Example #3
0
        public async Task <IActionResult> Login([FromBody]  User loginUser)
        {
            if (loginUser == null)
            {
                return(BadRequest("user is not set."));
            }

            var user = await _usersService.FindUserAsync(loginUser.Username, loginUser.Password);

            if (user == null || !user.IsActive)
            {
                return(Unauthorized());
            }

            var(accessToken, refreshToken) = await _tokenStoreService.CreateJwtTokens(user, refreshTokenSource : null);

            return(Ok(new { access_token = accessToken, refresh_token = refreshToken }));
        }
Example #4
0
        public async Task <IActionResult> Login([FromBody] CredentialsViewModel credentials)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var user = await GetUserIdentity(credentials.Email, credentials.Password);

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

            var(accessToken, refreshToken, claims) = await _tokenStoreService.CreateJwtTokens(user, refreshTokenSource : null);

            _antiForgery.RegenerateAntiForgeryCookies(claims);

            return(Ok(new { access_token = accessToken, refresh_token = refreshToken }));
        }
Example #5
0
        public async Task <IActionResult> Login([FromBody]  LoginUser loginUser)
        {
            if (loginUser == null)
            {
                return(new BadRequestObjectResult(ApiResponse <string> .ErrorResult(message: "user is not set.", statusCode: HttpStatusCode.BadRequest)));
            }

            var user = await _usersService.FindUserAsync(loginUser.Email, loginUser.Password);

            if (user == null || !user.IsActive)
            {
                return(new BadRequestObjectResult(ApiResponse <string> .ErrorResult(message: "Invalid login and Password.", statusCode: HttpStatusCode.Unauthorized)));
            }

            var(accessToken, refreshToken, claims) = await _tokenStoreService.CreateJwtTokens(user, refreshTokenSource : null);

            //_antiforgery.RegenerateAntiForgeryCookies(claims);

            return(new OkObjectResult(ApiResponse <object> .SuccessResult(new { access_token = accessToken, refresh_token = refreshToken })));
        }
        public async Task <TokenResponse> RegisterVisitor([FromBody] RegisterUserRequest data)
        {
            //TODO: Telefon hozzárendelése a felhasználóhoz
            ResponseMessage <User> request = _securityService.Create(data);

            if (!request.IsSuccess)
            {
                throw new HttpStatusCodeException(HttpResponseType.BadRequest, request.ErrorMessage);
            }

            TokenObject tokenObject = await _tokenStoreService.CreateJwtTokens(request.ResponseObject).ConfigureAwait(false);

            TokenResponse token = new TokenResponse
            {
                access_token = tokenObject.Token,
                expires_in   = TimeSpan.FromDays(5).TotalSeconds
            };

            return(token);
        }
        public async Task <IActionResult> Login([FromBody] UserLoginDTO loginUser)
        {
            if (loginUser == null)
            {
                return(BadRequest("User is not set."));
            }

            Models.DbModels.User user = await _usersService.FindUserPasswordAsync(loginUser.Username, loginUser.Password);

            if (user == null || !user.Enabled)
            {
                return(Unauthorized("InvalidCredentials"));
            }

            if (!user.IsApproved)
            {
                return(Unauthorized("NotApproved"));
            }

            (string accessToken, string refreshToken, System.Collections.Generic.IEnumerable <Claim> claims) = await _tokenStoreService.CreateJwtTokens(user, refreshTokenSource : null);

            return(Ok(new AccessToken {
                access_token = accessToken, refresh_token = refreshToken
            }));
        }
Example #8
0
        public IActionResult Login([FromBody] UserLoginDTO loginUser)
        {
            if (ModelState.IsValid)
            {
                if (!usersService.ValidateUserPassword(loginUser.Username, loginUser.Password))
                {
                    return(Unauthorized("Invalid Credentials"));
                }

                (string accessToken, string refreshToken, IEnumerable <Claim> claims) = tokenStoreService.CreateJwtTokens(loginUser.Username, refreshTokenSource: null);
                return(Ok(new AccessTokenDTO {
                    access_token = accessToken, refresh_token = refreshToken
                }));
            }
            else
            {
                return(BadRequest(ModelState));
            }
        }