2017-11-16 3 views
1

Ich arbeite an einer Chrome-Erweiterung. Völlig neu dazu.versteckte Umgebungsvariablen innerhalb der Chrome-Erweiterung

Für den Loggin-Teil möchte ich die Ausgabe auf einen Server veröffentlichen, wo ich Elastic hosten.

Ich habe eine funktionierende Einrichtung durch eine XMLHttpRequest. Innerhalb der upLog.open() habe ich meine Anmeldeinformationen zu meiner Elastic-Umgebung.

Allerdings: Ich möchte nicht, dass meine Elastic-Anmeldeinformationen in meiner Chrome-Erweiterung fest codiert sind.

Was ist der beste Weg, diese zu verstecken?

Meine aktuelle Funktion für die Protokollierung:

function sendLog(log){ 
    let upLog = new XMLHttpRequest(); 

    upLog.open('POST', 'https://xxxxx.us-east-1.aws.found.io:9243/chrome-extension-logging/log_objects/' , true , 'username', 'password'); 
    upLog.onload = function (oEvent) { 
    if (oEvent.currentTarget.status !== 201) { 
     setErrorBadge(); 
     console.log('Can\'t upload Error Log to service', oEvent.currentTarget.responseText); 
     showAlert('Error', 'Can\'t upload Error Log to service'); 
     return { status: false, data: {} }; 
    } else { 
     console.log('Log uploaded'); 
     setSuccessBadge(); 
     showAlert('Success', 'Log uploaded'); 
     return { status: true, data: {} }; 
    } 
    }; 
    upLog.onerror = function (oEvent) { 
    setErrorBadge(); 
    console.log('Can\'t upload log to service', oEvent); 
    showAlert('Error', 'Can\'t upload log to service (server error)'); 
    return { status: false }; 
    }; 
    upLog.setRequestHeader('Content-Type', 'application/json'); 
    upLog.send(JSON.stringify({ item : log })); 
} 
+0

was genau versuchen Sie hier zu erreichen? Möchten Sie einen Weg, wo Sie verschiedene ENV-Variablen einrichten können? oder verstecken Sie einfach die Details der Verbindungszeichenfolge? – AhmadAssaf

+0

Es würde die Anmeldeinformationen verbergen. Eine installierte Chrome-Erweiterung befindet sich auf der Festplatte des Benutzers. Im Idealfall enthält dieser Code keine Benutzeranmeldeinformationen meiner Umgebung für die elastische Suche. was ich für jetzt getan habe, war ein Benutzer erstellen, der nur "neue Elemente" auf die elastische Suche veröffentlichen kann, aber ich würde es vorziehen, auch dies ist nicht im Code sichtbar. – radzia2

Antwort

Verwandte Themen