Wie kann ich die ausblenden-API-key erstellen-reagieren-app?
Machte ich eine Wetter-app erstellen-reagieren-app. Wie Verstecke ich den API-key, so dass ich Begehen kann, auf GitHub?
Gerade jetzt der Schlüssel ist in App.js:
const API_KEY = "123456";
verwenden ENV vars. Oder halten Sie es im geheimen.yml-Datei. Und dann die Datei an .gitignore. Und dann mit JS Lesen yml, laden Sie es auf ENV.
siehe github.com/motdotla/dotenv
Mögliche Duplikate von Verwendung von API-keys in einen reagieren app
Du kannst dich nicht verstecken Geheimnisse in einer app reagieren. Siehe stackoverflow.com/a/46839021/4722345
siehe github.com/motdotla/dotenv
Mögliche Duplikate von Verwendung von API-keys in einen reagieren app
Du kannst dich nicht verstecken Geheimnisse in einer app reagieren. Siehe stackoverflow.com/a/46839021/4722345
InformationsquelleAutor J. Kim | 2018-02-09
Du musst angemeldet sein, um einen Kommentar abzugeben.
Erarbeiten Arup Rakshit Kommentar,
Zuerst sollten Sie das machen .env-Datei außerhalb Ihres src-Ordner.
Fügen Sie dann
Bevor Sie zu Begehen, sollten Sie ausschließen .env-Datei so zu finden .gitignore-Datei und hinzufügen .env.
Nun bist du frei zu gehen.
Don nicht vergessen, hinzuzufügen .env .gitignore-Datei.
Hinzugefügt:
const API_KEY = process.env.REACT_APP_WEATHER_API_KEY;
In der Reihenfolge zu Lesen, env-Variablen, sollten Sie Ihren server neu starten.
Sollten Sie die Anwendung neu starten, aktualisieren Sie Ihr Geheimnis.
Wie wird diese Antwort akzeptiert? facebook.github.io/erstellen-reagieren-app/docs/...: WARNUNG: lagern Sie keine Geheimnisse (wie private-API-Schlüssel) Reagieren-app! Umwelt-Variablen, die eingebettet sind in die zu bauen, so kann jeder anzeigen, indem Sie Einsicht in Ihre app Dateien.
Was also ist die Lösung dann? Sollten wir fügen Sie ein node-js-server zwischen api-keys und browser-Anfrage? Auf diese Weise, unsere node-server ist das einzige, das hält die api-keys und macht third-party-Anfragen im Namen des Benutzers mithilfe von geheimen api-Schlüssel, gespeichert in node-js-server.
ja, so etwas wie einen express-server, der Anfragen. das ist der einzige Weg.
InformationsquelleAutor 이준형
Als es stellt sich heraus, erstellen-reagieren-app hat einige eingebaute Funktionen, die Ihnen helfen mit, dass. Danke George Karametas für diese Einsicht. Zugriff auf die Funktionalität, die Sie benötigen, um:
1. Erstellen Sie eine Datei namens
.env
im root Ihres Projekt-Verzeichnis.2. Innerhalb der
.env
Datei prependREACT_APP_
zu Ihrem API-key-Namen Ihrer Wahl zuweisen.Den
create-react-app
tool verwendetREACT_APP_
zu identifizieren, die diese Variablen. Wenn Sie nicht starten Sie Ihren API-Schlüssel, name,create-react-app
es nicht sehen.3. Fügen Sie die
.env
Datei auf Ihrem.gitignore
Datei.Nachdem Sie die Zeile hinzufügen unter, speichern Sie die
.gitignore
- Datei und machen Sie einengit status
um sicherzustellen, dass Ihr.env
Datei nicht angezeigt als neue Datei im git.4. Zugriff auf die API-Schlüssel über die
process.env
Objekt.Zu überprüfen, können Sie den Zugriff auf Ihre API-Schlüssel, gehen Sie zu Ihrem
App.js
- Datei und fügen Sie eineconsole.log
an der Spitze unterhalb derrequire
Aussagen. Nachdem Sie die Datei speichern und die Seite neu zu laden, wenn die Konsole nicht zeigen Sie Ihren API-key, versuchen Sie einen Neustart der server reagieren. Entfernen Sie die Konsole, log-line, bevor Sie Ihre code.Stellen Sie sicher, dass Sie wickeln Sie Ihre apiKey in einer Vorlage wörtlich, denn es muss ein string sein. Hier ist ein Beispiel, wie ich mein setup: pastebin.com/WQ0CzqQy, Dann stellen Sie sicher, dass Sie Ihren server neu starten.
Vielleicht auch im Missverständnis immer noch... können Sie einen Blick auf diese codepen wenn Sie eine chance bekommen, nicht in der Ausgabe, nur das html-so ist es einfacher. codepen.io/Born2Code1983/pen/xjvwPj
funktioniert das auch in Next.js?
Wäre dies nicht ausgesetzt, wenn der client öffnet die devtools?
InformationsquelleAutor richardsonae
vom reagieren Dokumentation:
InformationsquelleAutor Tom Foxtrot
Hier ist was für mich gearbeitet:
Habe ich die
.env
im root-Ordner.In diesem Ordner habe ich meine Schlüssel:
Dann ging ich zu
.gitignore
|| oder erstellen Sie ein .gitignore in Ihrem root-Verzeichnis, wenn Sie es nicht haben. Innerhalb .gitignore Hinzugefügt habe .envDann ging ich zurück zu den Wurzel meiner app js-Datei. Für mich war index.js für andere ist es wahrscheinlich App.js
Dort erstellte ich eine const API_KEY
Ich habe überprüft, ob es funktioniert hat, indem Konsole anmelden.
War ich immer
undefined
.Ich stoppte den server (
Control + C
) und neu gestartet und der server.Danach konnte ich den key sehen.
InformationsquelleAutor Roger Perez
Hoffe es ist nicht zu spät, also hier ist, wie ich es Tat. auf root-Ordner, wenn Sie reagieren, stellen Sie die Umgebungsvariable
REACT_APP_
so geht so.REACT_APP_API_KEY=<keye here>
Sie nicht. Reagieren, die Umgebung, der Blick auf das.env
prüft, ob Sie voranstellenREACT_APP_
dann können Sie es verwenden.dass Sie erhalten, sind Sie Variablen.
wenn Sie mithilfe von Knoten -, dann müssen Sie ein Paket https://www.npmjs.com/package/dotenv
thats it. genießen Sie 🙂
InformationsquelleAutor artoo
Können Sie erstellen Sie eine separate Datei mit allen Zugangsdaten und deklarieren Ihre keys dort. Und fügen Sie diese Datei zu
.gitignore
InformationsquelleAutor tetta
Erstellen config_keys.js die Datei mit den Schlüsseln. Exportieren Sie diese als Standard -
Dann importieren Sie Sie in Ihre app.js oder das Ziel .js-Datei
und dann hinzufügen config_keys.js .gitignore
InformationsquelleAutor Vishnu Anilkumar