Храните ключи API в разделе «Секреты»
КраткоСекреты — запертый ящик приложения для ключей API и закрытых настроек. Добавляйте их в разделе «Облачные сервисы → Секреты» с названием вроде WEATHER_API_KEY: они хранятся в зашифрованном виде, больше никогда не показываются, и читает их только серверный код приложения. Нажмите «Применить к предпросмотру», чтобы сразу их использовать; рабочее приложение получит их при следующей публикации. Никогда не вставляйте ключ в чат.
Когда приложение пользуется сервисом другой компании — прогнозом погоды, базой рецептов, платёжным провайдером, — этот сервис выдаёт вам ключ API: длинный секретный пароль, через который приложение работает с вашим аккаунтом. Любой, у кого есть ключ, может пользоваться вашим аккаунтом и набрать вам счёт. Поэтому ключам нужно надёжное место.
Это место — Секреты. У каждого приложения они свои и хранятся в зашифрованном виде. Код приложения читает ключ, когда он нужен, и никто — ни пользователи приложения, ни те, с кем вы поделились проектом, — его не видит.
Как добавить секрет?
Заголовок раздела «Как добавить секрет?»-
Откройте проект и перейдите в раздел Облачные сервисыСекреты.
-
В поле Название введите название ключа, например
SPOONACULAR_API_KEY. Используйте заглавные латинские буквы, цифры и подчёркивания; строчные буквы MonstarX сам сделает заглавными. -
В поле Значение вставьте ключ. Пока вы вводите, он отображается точками.
-
Нажмите Добавить.
-
Нажмите Применить к предпросмотру — кнопка появится справа вверху после сохранения. Предпросмотр перезапустится с новым ключом, и его можно сразу проверить.
-
Скажите MonstarX в чате, какая функция должна его использовать: «используй SPOONACULAR_API_KEY, чтобы находить пищевую ценность каждого рецепта».
Опубликованное приложение получит новые и изменённые секреты при следующей публикации. См. Опубликуйте приложение.
Почему ключ нельзя вставлять в чат?
Заголовок раздела «Почему ключ нельзя вставлять в чат?»Чат сохраняется вместе с проектом. Его видят все, с кем вы поделились проектом, его читают ИИ-модели, которые создают приложение, и он остаётся в истории проекта. Ключ, вставленный туда, больше не секрет. Код, в который ключ вписан напрямую, так же уязвим: ключ окажется в файлах проекта, в экспорте и на GitHub, если вы его подключите.
Если вы случайно где-то вставили ключ, создайте новый в панели управления этого сервиса, удалите там старый и сохраните новый в разделе «Секреты».
Как изменить или удалить секрет?
Заголовок раздела «Как изменить или удалить секрет?»- Изменить: введите то же название ещё раз с новым значением. Вместо Добавить на кнопке будет Обновить. Нажмите её, а затем Применить к предпросмотру.
- Удалить: нажмите корзину рядом с секретом и подтвердите. Части приложения, которые им пользовались, перестанут работать, пока вы не добавите его снова.
Сохранённое значение больше никто не сможет прочитать — даже вы. Каждое показывается точками с датой в столбце Добавлен. Если ключ понадобится, возьмите его в сервисе, который его выдал.
Какие названия нельзя использовать?
Заголовок раздела «Какие названия нельзя использовать?»Некоторые названия принадлежат MonstarX или системе, на которой работает приложение, поэтому раздел «Секреты» их не принимает:
- названия, которые начинаются с
MONSTARX_,BETTER_AUTH_,CLOUDFLARE_,CF_,GCP_,RAILWAY_,NODE_илиNPM_; PATH,HOME,PORT,NODE_ENV,TMPDIR,USER,SHELL,PWD,CI,HOSTNAME,FORCE_COLORиNO_COLOR;- названия, которые начинаются с
VITE_, потому что такие переменные попали бы в код страницы, где их может прочитать любой посетитель. (Импортированное приложение, которое уже использует названия сVITE_, может их оставить.)
Название должно начинаться с буквы и быть не длиннее 64 символов.
Что такое настройки PUBLIC_?
Заголовок раздела «Что такое настройки PUBLIC_?»Некоторые значения и так предназначены для показа — например, название сайта или публикуемый (publishable) ключ, который сервис считает безопасным для браузера. Давайте им названия, начинающиеся с PUBLIC_. Они могут попадать на страницу, и MonstarX предупредит вас об этом, пока вы вводите название.
Вопросы и ответы
Заголовок раздела «Вопросы и ответы»Кто видит мои секреты?
Сохранённое значение не может прочитать никто, включая вас. Те, с кем вы поделились проектом, вообще не видят вкладку Облачные сервисы. Значения читает только серверный код приложения.
Я добавил ключ, но приложение по-прежнему говорит, что его нет.
Нажмите Применить к предпросмотру, чтобы предпросмотр перезапустился с ключом. Для рабочего приложения опубликуйте его заново. И проверьте, что название точно совпадает с тем, которое читает приложение.
Почему я не вижу сохранённое значение?
После сохранения значения больше не показываются, чтобы они не могли утечь с вашего экрана. Чтобы изменить значение, сохраните то же название с новым значением.
Может ли приложение использовать секрет в браузере?
Нет. Секреты читает только серверный код приложения, поэтому они никогда не попадают в браузер посетителя. Значение, которое нужно самой странице, например публикуемый ключ, получает название с PUBLIC_.
Чем секреты отличаются от подключений?
Подключения — это готовые формы для известных сервисов: они сохраняют ключи в раздел «Секреты» под заданными названиями и объясняют MonstarX, как с ними работать. Секреты — для всего остального.