2014-02-21 11 views
16

Ich habe eine GitHub-Seite für meine Organisation, wo ich Daten von einem Drittanbieter-API aufrufen möchte, wo ich einen Authentifizierungs-Token brauche. Kann ich diese GitHub-Seite veröffentlichen, ohne dass das Authentifizierungs-Token im öffentlichen Repo angezeigt wird?hide API-Schlüssel für eine Github-Seite

Antwort

22

Kurz gesagt, nein. Wenn Ihr GitHub-Repo öffentlich ist, sind alle seine Vermögenswerte öffentlich. Sie können das Repo privat machen und es wird weiterhin auf GitHub Pages veröffentlicht, wenn es mit der username.github.io Konvention benannt wird oder wenn es eine gh-pages Verzweigung hat. Obwohl das eine Option ist, ist das nicht unbedingt das Richtige.

Wenn sich Ihr Schlüssel in Ihrem GitHub Pages-Repo befindet, klingt er wie für clientseitige API-Aufrufe in JavaScript. Ist dies der Fall, ist Ihr Authentifizierungs-Token öffentlich sichtbar, unabhängig davon, ob es sich in Ihrem öffentlichen Repository befindet oder in Ihren clientseitigen Dateien an den Browser gesendet wurde. Das ist normalerweise in Ordnung. Die Drittanbieter-API hat möglicherweise das Authentifizierungstoken basierend auf der Domain Ihrer Website generiert und Anrufe, die dieses Token verwenden, auf Seiten beschränkt, die aus Ihrer Domain stammen. Andernfalls benötigen sie möglicherweise das Authentifizierungstoken nur zum Protokollieren von Anforderungen und zum Überwachen der Verwendung.

Wenn das Authentifizierungs-Token wirklich privat ist, müssen Sie möglicherweise privaten serverseitigen Code schreiben, um die API des Drittanbieters aufzurufen. Ihre GitHub Pages-Website könnte dann Ihren Dienst für die benötigten Daten kontaktieren. Ich musste das vorher tun, wo die Web-API Sicherheitsbedenken hatte, aber ich musste immer noch nicht sensible Daten von der Client-Seite abrufen.

+3

das musste ich hören. Vielen Dank! –