private static void ValidateBasicAuthentication()
 {
     var authorization = WebOperationContext.Current?.IncomingRequest.Headers["Authorization"];
     if (string.IsNullOrWhiteSpace(authorization))
     {
         throw new WebFaultException(HttpStatusCode.Forbidden);
     }
     var basicAuth = new BasicAuth(authorization);
     var token = new AuthenticationTokenService().Authenticate(basicAuth.Creds);
     ValidateToken(token);
 }
 public string Authenticate(Credentials creds)
 {
     if (creds == null && WebOperationContext.Current != null)
     {
         var basicAuthHeader = WebOperationContext.Current.IncomingRequest.Headers["Authorization"];
         if (!string.IsNullOrWhiteSpace(basicAuthHeader))
             creds = new BasicAuth(basicAuthHeader).Creds;
     }
     using (var dbContext = new BasicTokenDbContext())
     {
         return new DatabaseTokenBuilder(dbContext).Build(creds);
     }
 }