Секретный ключ
Ваш ключ API работает в браузере, где его защищают разрешенные домены. На сервере нет домена для проверки, поэтому контент, который вы переводите на сервере с предварительным рендерингом React SSR, Next.js или Angular, вместо этого используется секретный ключ.
Секретные ключи начинаются с p-. Храните свои данные на сервере и никогда не вводите их в код, который запускается в браузере.
Создайте секретный ключ
Откройте страницу своей учетной записи и нажмите Создать секретный ключ в разделе Ваш секретный ключ. Ключ отображается только один раз, поэтому сразу скопируйте его. После этого на странице учетной записи отобразятся только последние четыре символа.
У вас есть один секретный ключ за раз. В случае утечки секретного ключа или его утери нажмите «Восстановить секретный ключ». Старый ключ немедленно перестает работать.
Используйте его на своем сервере
Задайте ключ в качестве переменной окружения MAGIC_TRANSLATE_SECRET_KEY везде, где ваше приложение отображается или строится, например, в настройках вашего хостинг-провайдера или ваших секретах CI.
MAGIC_TRANSLATE_SECRET_KEY=p-...
На сервере клиенты Magic Translate отправляют этот ключ вместо вашего ключа API. Вам не нужно менять код. Вы также можете передать его в явном виде:
import { setupT } from '@magic-translate/react-ssr';export const translate = setupT({secretKey: process.env.MAGIC_TRANSLATE_SECRET_KEY});
В браузере клиенты никогда не отправляют секретный ключ, даже тот, который был передан как apiKey. Вместо этого они регистрируют ошибку.
Для секретных ключей требуется @magic-translate/react-ssr 1.3.0 или @magic-translate/angular 1.2.0 или более поздняя версия.
Когда он вам нужен
| Ваш ключ API | Запросы к серверу без секретного ключа |
|---|---|
| Нет разрешенных доменов | Продолжай работать |
| Имеет разрешенные домены | Верните ошибку SECRET_KEY_REQUIRED |
Запросы, отправляющие секретный ключ из браузера, возвращают ошибку SECRET_KEY_IN_BROWSER. Секретный ключ игнорирует разрешенные домены и работает с любого сервера.