Dokumentation

Geheimer Schlüssel

Dein API-Schlüssel funktioniert im Browser, wo erlaubte Domains ihn schützen. Ein Server hat keine zu überprüfende Domain, also verwenden Inhalte, die du auf einem Server übersetzt, mit React SSR, Next.js oder Angular vorrendern, stattdessen einen geheimen Schlüssel.

Geheime Schlüssel beginnen mit p-. Behalte deine auf dem Server und füge sie niemals in Code ein, der im Browser läuft.

Erstelle einen geheimen Schlüssel

Öffne deine Kontoseite und klicke unter Dein geheimer Schlüssel auf Geheimen Schlüssel erstellen. Der Schlüssel wird nur einmal angezeigt, also kopiere ihn sofort. Danach werden auf der Kontoseite nur die letzten vier Zeichen angezeigt.

Du hast jeweils einen geheimen Schlüssel. Wenn es durchsickert oder du es verlierst, klicke auf Geheimen Schlüssel regenerieren. Der alte Schlüssel funktioniert sofort nicht mehr.

Verwende es auf deinem Server.

Lege den Schlüssel als Umgebungsvariable MAGIC_TRANSLATE_SECRET_KEY fest, wo auch immer deine App gerendert oder erstellt wird, zum Beispiel in den Einstellungen deines Hosting-Anbieters oder deinen CI-Geheimnissen.

MAGIC_TRANSLATE_SECRET_KEY=p-...

Auf einem Server senden die Magic Translate-Clients diesen Schlüssel anstelle deines API-Schlüssels. Du musst keinen Code ändern. Du kannst es auch explizit weitergeben:

import { setupT } from '@magic-translate/react-ssr';
export const translate = setupT({
secretKey: process.env.MAGIC_TRANSLATE_SECRET_KEY
});

Im Browser senden die Clients niemals einen geheimen Schlüssel, auch nicht einen, der als apiKey übergeben wurde. Stattdessen protokollieren sie einen Fehler.

Geheime Schlüssel benötigen @magic-translate/react-ssr 1.3.0 oder @magic-translate/angular 1.2.0 oder höher.

Wenn du einen brauchst

Dein API-SchlüsselServeranfragen ohne geheimen Schlüssel
Keine erlaubten DomainsArbeite weiter
Hat Domains zugelassenGib den Fehler SECRET_KEY_REQUIRED zurück

Anfragen, die einen geheimen Schlüssel von einem Browser senden, geben den Fehler SECRET_KEY_IN_BROWSER zurück. Ein geheimer Schlüssel ignoriert deine erlaubten Domains und funktioniert von jedem Server aus.