Перейти к основному содержимому

Защита ваших API-ключей в приватных вызовах API

Обеспечение безопасности API-ключей является критически важным аспектом создания и поддержки безопасного и надежного приложения. В контексте приватных вызовов API особенно важно убедиться, что ваши API-ключи не раскрываются. Эта статья предоставляет руководство по лучшим практикам размещения API-ключей для повышения безопасности в среде FlutterFlow.

Заблуждение: приватные вызовы API обеспечивают безопасность всего

Многие пользователи предполагают, что простая пометка вызова API как 'private' достаточно для защиты всех связанных данных. Однако это не так. Приватные вызовы API выполняются в Cloud Function, что означает, что любые ключи или чувствительные данные в теле запроса будут защищены, если они не передаются с фронтенда. Даже в приватных вызовах API, если вы загружаете API-ключ с фронтенда (например, из Firebase remote configs), вы все равно раскрываете его.

Безопасное размещение API-ключей в вашем проекте

Идеальный способ защиты API-ключа — включить его в заголовок запроса или напрямую в URL конечной точки API. Это гарантирует, что он никогда не передается с клиента, тем самым сохраняя его конфиденциальность.

Например, вы можете жестко задать ключ непосредственно в заголовке вызова API следующим образом:

{ "Authorization": "Bearer YOUR_API_KEY_HERE" }

Или напрямую в URL конечной точки API:

https://api.example.com/resource?api_key=YOUR_API_KEY_HERE

Ключ никогда не должен быть переменной, передаваемой с фронтенда, поскольку это сделает его доступным через клиентский код, что сводит на нет цель использования приватных вызовов API для безопасных операций.

Проверка безопасности вашего API-ключа

После внедрения этих изменений простой способ проверить, что ваш ключ защищен, — скачать код приложения и убедиться, что API-ключ не появляется в каких-либо файлах фронтенда.

Пример: Небезопасно

Пример: Более безопасно

Соблюдая эти лучшие практики, вы можете повысить безопасность ваших API-ключей даже при выполнении приватных вызовов API.

к сведению

Цель — держать все чувствительные данные, включая API-ключи, подальше от клиентской стороны приложения для обеспечения оптимальной безопасности.