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); } } }