Внешние API и промежуточный сервер в другом домене - PullRequest
0 голосов
/ 18 июня 2010

Мои промежуточные и производственные серверы находятся на разных серверах и доменах.

Как лучше всего обращаться с внешними API, у которых есть ключ, основанный на доменных именах? Это плохая практика, и оба должны быть на одном сервере?

1 Ответ

1 голос
/ 18 июня 2010

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

В этом случае я попытаюсь объяснить это на PHP

class API_Client
{
    const ENV_STAGING = 'staging';
    const ENV_PRODUCTION = 'production';

    protected static $apiKeys = array(
        self::ENV_STAGING    => 'thisisthekeyformystagingenv',
        self::ENV_PRODUCTION => 'thisisthekeyformyproductionenv',
    );

    protected static $environment = self::ENV_PRODUCTION;

    public static function getEnvironment()
    {
         return self::$environment;
    }

    public static function setEnvironment($environment)
    {
         self::$environment = $environment;
    }

    public static function apiCall($call)
    {
         $environment = self::getEnvironment();
         if(array_key_exists(self::$apiKeys, $environment))
             $apiKey = self::$apiKeys[$environment];
         else throw new Exception("No API key found for current environment '$environment'");

         return self::_apiCall($apiKey, $call);
    }

    protected static function _apiCall($apiKey, $call)
    {
         // Make the call to the API
    }
}

Iнадеюсь, это поможет ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...