Zugriff auf geschützte Ressourcen mit Umgebungsvariablen
Mit Managed Runtime-Umgebungsvariablen können Sie dem in einer Umgebung ausgeführten Anwendungsprozess Variablen hinzufügen, ohne Codeänderungen vornehmen zu müssen. Umgebungsvariablen werden sicher gespeichert, was sie ideal für Anwendungsbeispiele wie Folgendes macht:
Aufrufen von Ressourcen von Drittanbietern, die durch API-Schlüssel geschützt sind
Lassen Sie uns eine Umgebungsvariable verwenden, um einen API-Schlüssel zu speichern, der für den Zugriff auf eine sichere externe Ressource verwendet wird. In diesem Tutorial handelt es sich bei der Ressource um ein imaginäres Content-Management-System (CMS) eines Drittanbieters. Wir fügen dem Express.js-Server in ssr.js einen Handler hinzu, der Anfragen an das CMS sendet und mit den geschützten Daten antwortet. Anschließend greifen wir auf die Daten zu, indem wir den Handler aufrufen.
Aus Sicherheitsgründen ruft der API-Schlüssel den CMS aus serverseitigem Code und nicht aus Client-seitigem Code auf.
Voraussetzungen
Um dieses Tutorial abzuschließen, ist zunächst Folgendes erforderlich:
Halten Sie einen API-Schlüssel für die Verwendung der Managed Runtime API bereit. Um Ihren API-Schlüssel zu finden, melden Sie sich beim Runtime Admin-Tool an und rufen Sie die Seite Account Settings (Kontoeinstellungen) auf.
Stellen Sie sicher, dass Sie über eine Entwickler- oder Administratorrolle für das Projekt verfügen, für das Sie Umgebungsvariablen festlegen. Wenn Sie keinen Zugriff haben, wenden Sie sich eine Person mit Administratorrolle für Managed Runtime, um Ihnen dabei zu helfen.
Auf Ihrem lokalen Computer
Ersetzen Sie vor dem Ausführen der Befehle in diesem Tutorial alle Platzhalter durch tatsächliche Werte. Platzhalter haben das folgende Format: $PLACEHOLDER.
Lokales Festlegen der Umgebungsvariablen
Um die Umgebungsvariable in der aktuellen Sitzung festzulegen, öffnen Sie ein Terminal, und führen Sie den folgenden Befehl aus:
Windows:set CMS_API_KEY='my-cms-api-key'
Die meisten Unix-ähnlichen Betriebssysteme, einschließlich macOS:export CMS_API_KEY='my-cms-api-key'
Überprüfen Sie, ob die Umgebungsvariable korrekt eingerichtet ist, indem Sie Folgendes ausführen:
Windows:echo %CMS_API_KEY%
Die meisten Unix-ähnlichen Betriebssysteme, einschließlich macOS:echo $CMS_API_KEY
Der Befehl gibt Folgendes zurück: my-cms-api-key
Fügen Sie diesen JavaScript-Code zum Aufrufen des CMS in ssr.js hinzu:
1async function fetchCMSData(){2 const key = process.env.CMS_API_KEY;3 if(!key){4 throw new Error("Environment variable CMS_API_KEY isn't set.");5}67 return await fetch("https://api.example.com/", {8 headers:{9 Authorization: "Bearer " + key,10},11}).json();12}1314async function handlerCMS(req, res){15 try{16 const data = await fetchCMSData();17 return res.json(data);18}catch(err){19 return res.status(500).json({error: err.message});20}21}
Binden Sie den Handler an eine Route im Express.js-Server. Starten Sie als Nächstes den Entwicklungsserver mit npm start. Navigieren Sie schließlich lokal zum Handler, um zu überprüfen, ob die CMS-Daten zurückgegeben werden.
In einer Nicht-Production- oder Production-Umgebung
Es wird empfohlen, diese Schritte in einer Nicht-Production-Umgebung zu testen, bevor Sie Ihre Änderungen in der Produktion bereitstellen.
Ersetzen Sie vor dem Ausführen der Befehle in diesem Tutorial alle Platzhalter durch tatsächliche Werte. Platzhalter haben das folgende Format: $PLACEHOLDER.
Rufen Sie den Endpunkt projects_target_env_var_partial_update auf, um die Umgebungsvariable festzulegen. Dadurch wird Ihr Bündel bereitgestellt. Warten Sie, bis die Umgebung erneut bereitgestellt wurde, bevor Sie den API-Schlüssel in Ihrem Code verwenden. Sie können auch Runtime Admin verwenden, um Umgebungsvariablen zu verwalten. unter Environment Variables (Umgebungsvariablen).