public async Task <IActionResult> PostTokenReissueRequest([FromBody] TokenReissueRequest reissueRequest)
        {
            var user = await _authService.AuthorizeUserWithTokenAsync(reissueRequest);

            if (user != null)
            {
                return(AuthTokenResponse(user));
            }
            return(BadRequest("Nieprawidłowe żądanie ponownego wystawienia JWT"));
        }
        public async Task <AuthorizedUser> AuthorizeUserWithTokenAsync(TokenReissueRequest reissueRequest)
        {
            var user = await _serveUsers.GetUserByName(reissueRequest.Username);

            if (user != null && _checkSecurityTokens.IsValidForUser(user, reissueRequest.Token))
            {
                var result = new AuthorizedUser(user);
                return(result);
            }

            return(null);
        }
        public async Task AuthorizeWithLoginAndTokenAsync_notExistinguser_null()
        {
            // setup
            _ifPass = false;
            _user   = null;
            var request = new TokenReissueRequest()
            {
                Username = "******", Token = "invalid token"
            };

            // act
            var result = await _authorizeService.AuthorizeUserWithTokenAsync(request);

            // verify
            result.Should().BeNull();
        }
        public async Task AuthorizeWithLoginAndTokenAsync_invalidUsername_null()
        {
            // setup
            _ifPass = false;
            _user   = new User {
                Name = _username
            };
            var request = new TokenReissueRequest()
            {
                Username = "******", Token = "invalid token"
            };

            // act
            var result = await _authorizeService.AuthorizeUserWithTokenAsync(request);

            // verify
            result.Should().BeNull();
        }
        public async Task AuthorizeWithLoginAndTokenAsync_validToken_null()
        {
            // setup
            _user = new User {
                Name = _username
            };
            _ifPass = true;
            var request = new TokenReissueRequest()
            {
                Username = _username, Token = "valid token"
            };

            // act
            var result = await _authorizeService.AuthorizeUserWithTokenAsync(request);

            // verify
            result.Should().NotBeNull();
            result.Name.Should().Be(_username);
        }