У меня есть API-ключ для API Google, который я хотел бы использовать во всех своих запросах к нему. Некоторые из этих запросов будут поступать из приложения Google App Engine (Python 2.7). Я планировал использовать библиотеку UrlFetch для завершения запроса POST, в основном следующим образом:Ограничение ключа API для API Google, вызванное из URL-адреса Fetch в приложении Engine
headers = {'Content-Type': 'application/json'}
payload = {'longUrl': request.long_url}
result = urlfetch.fetch([API_REQUEST_URL],
method=urlfetch.POST,
payload=json.dumps(payload),
headers=headers)
json_result = json.loads(result.content)
я установил ограничение ссылающейся на мой API ключ к *.[my-app].appspot.com/*
с надеждой, что это будет защищать свой ключ API от несанкционированного использования и отрицают необходимость обновления ограничения на основе IP-адресов (поскольку IP-модули App Engine все время меняются).
Этот подход не помог мне, хотя, поскольку кажется, что urlfetch НЕ задает значение для referrer самостоятельно. Я предполагаю, что могу добавить собственного реферера, но тогда мог бы кто-нибудь еще. Этот подход не очень безопасен.
Какая практика? Как мне ограничить ключ, учитывая, что я использую urlfetch из App Engine? Если я использую ограничение HTTP Referrer, какой адрес я использую?
Большое спасибо.