API-Schlüssel geheim halten
Den Code eines veröffentlichten Widgets kann jeder lesen. Schreiben Sie deshalb nie einen API-Schlüssel, ein Passwort oder ein Token hinein. Wohin ein Geheimnis gehört, hängt davon ab, wessen Geheimnis es ist.
Ihr eigener Schlüssel: eine Private Eingabe
Wenn Ihr Widget einen Schlüssel für alle verwendet, etwa Ihr Konto bei einem Wetterdienst, speichern Sie ihn als Private Eingabe. Nur Ihr Widget kann ihn lesen. Niemand kann ihn sehen, auch Sie nicht, sobald er gespeichert ist, und wer Ihr Widget hinzufügt, muss ihn nicht ausfüllen.
- Wählen Sie im Widget-Studio Datei > Eingaben.
- Öffnen Sie den Tab Private Eingaben und wählen Sie Neues Geheimnis erstellen.
- Geben Sie unter Name einen Namen ein, etwa
API_KEY, und unter Wert den Wert. Wählen Sie dann Geheimnis hinzufügen.


Lesen Sie den Schlüssel wie jede andere Eingabe mit useInputs und senden Sie ihn in einem Header an die API:
import { useFetch } from "~lib/use-fetch";
import { useInputs } from "~lib/use-inputs";
const { API_KEY } = useInputs();
const { data } = useFetch<Weather>("https://api.example.com/weather", {
headers: { "X-Api-Key": API_KEY },
});
Gut zu wissen:
- Einen gespeicherten Wert können Sie weder ansehen noch bearbeiten. Um ihn zu ändern, löschen Sie ihn und fügen ihn neu hinzu.
- Änderungen gelten sofort, auf jedem Rahmen, ohne dass Sie veröffentlichen müssen. Alle Versionen Ihres Widgets teilen sich dieselben Privaten Eingaben.
- Remixe bekommen sie nicht. Wer Ihr Widget remixt, muss eigene hinzufügen.
Der eigene Schlüssel jeder Person: eine vertrauliche Eingabe
Wenn jede Person ihren eigenen Schlüssel braucht, etwa um ihr eigenes Konto zu sehen, fragen Sie ihn mit einer Eingabe vom Typ Vertraulich ab. Sie funktioniert wie jede andere Eingabe, verbirgt aber, was eingetippt wird, wie ein Passwortfeld.
Bei einem Dienst anmelden
Für Dienste, bei denen man sich anmeldet, etwa Google, GitHub oder Spotify, verwenden Sie stattdessen eine Integration. Wer Ihr Widget hinzufügt, meldet sich einmal an, und Ihr Widget bekommt ein Token, mit dem es den Dienst im Namen dieser Person aufruft.