public object Post([FromBody] User user, [FromServices] FakeUserRepository repository, [FromServices] SigningConfiguration signingConfigurations, [FromServices] Token token)
        {
            bool validCredentials = false;

            if (user == null)
            {
                return new { authenticated = false, message = "Failed to authenticate!" }
            }
            ;

            User userFromDatabase = repository.Find(user.Id);

            if (userFromDatabase == null)
            {
                return new { authenticated = false, message = "Failed to authenticate!" }
            }
            ;

            validCredentials = (userFromDatabase != null && userFromDatabase.AccessKey == user.AccessKey);

            if (!validCredentials)
            {
                return new { authenticated = false, message = "Failed to authenticate!" }
            }
            ;

            var obj = TokenProvider.GetToken(user, token, signingConfigurations);

            return(obj);
        }
    }
}