public string Test()
 {
     var token = HttpContext.Current.Request.Headers["Token"];
     using (var dbContext = new BasicTokenDbContext())
     {
         ITokenValidator validator = new DatabaseTokenValidator(dbContext);
         return validator.IsValid(token) ? "Your token worked!" : "Your token failed!";
     }
 }
 public string Authenticate(Credentials creds)
 {
     using (var dbContext = new BasicTokenDbContext())
     {
         ICredentialsValidator validator = new DatabaseCredentialsValidator(dbContext);
         if (validator.IsValid(creds))
             return new DatabaseTokenBuilder(dbContext).Build(creds);
         throw new InvalidCredentialException("Invalid credentials");
     }
 }
 public DatabaseCredentialsValidator(BasicTokenDbContext dbContext)
 {
     _DbContext = dbContext;
 }
 public DatabaseTokenValidator(BasicTokenDbContext dbContext)
 {
     _DbContext = dbContext;
 }
 public DatabaseTokenBuilder(BasicTokenDbContext dbContext)
 {
     _DbContext = dbContext;
 }