mirror of
				https://github.com/OpenAPITools/openapi-generator.git
				synced 2025-11-04 02:33:54 +00:00 
			
		
		
		
	add todo for oauth, support multiple api key
This commit is contained in:
		
							parent
							
								
									278a653154
								
							
						
					
					
						commit
						06c7a6a109
					
				@ -84,6 +84,7 @@ public class PhpClientCodegen extends DefaultCodegen implements CodegenConfig {
 | 
			
		||||
    typeMapping.put("list", "array");
 | 
			
		||||
 | 
			
		||||
    supportingFiles.add(new SupportingFile("composer.mustache", packagePath, "composer.json"));
 | 
			
		||||
    supportingFiles.add(new SupportingFile("configuration.mustache", packagePath + "/lib", "Configuration.php"));
 | 
			
		||||
    supportingFiles.add(new SupportingFile("APIClient.mustache", packagePath + "/lib", "APIClient.php"));
 | 
			
		||||
    supportingFiles.add(new SupportingFile("APIClientException.mustache", packagePath + "/lib", "APIClientException.php"));
 | 
			
		||||
    supportingFiles.add(new SupportingFile("require.mustache", packagePath, invokerPackage + ".php"));
 | 
			
		||||
 | 
			
		||||
@ -68,6 +68,8 @@ class APIClient {
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * update hearder and query param based on authentication setting
 | 
			
		||||
   * 
 | 
			
		||||
   * @param array $headerParams
 | 
			
		||||
   * @param array $queryParams
 | 
			
		||||
   * @param array $authSettings
 | 
			
		||||
@ -83,7 +85,8 @@ class APIClient {
 | 
			
		||||
      switch($auth) {
 | 
			
		||||
        {{#authMethods}}
 | 
			
		||||
        case '{{name}}':
 | 
			
		||||
           {{#isApiKey}}{{#isKeyInHeader}}$headerParams['{{keyParamName}}'] = Configuration::$api_key;{{/isKeyInHeader}}{{#isKeyInQuery}}$queryParams['{{keyParamName}}'] = Configuration::$api_key;{{/isKeyInQuery}}{{#isBasic}}$headerParams['Authorization'] = base64_encode(Configuraiton::$username.":"Configuration::$password){{/isBasic}}{{/isApiKey}}
 | 
			
		||||
           {{#isApiKey}}{{#isKeyInHeader}}$headerParams['{{keyParamName}}'] = Configuration::$apiKey['{{keyParamName}}'];{{/isKeyInHeader}}{{#isKeyInQuery}}$queryParams['{{keyParamName}}'] = Configuration::$apiKey['{{keyParamName}}'];{{/isKeyInQuery}}{{#isBasic}}$headerParams['Authorization'] = base64_encode(Configuraiton::$username.":"Configuration::$password){{/isBasic}}{{/isApiKey}}
 | 
			
		||||
           {{#isOAuth}}#TODO support oauth{{/isOAuth}}
 | 
			
		||||
           break;
 | 
			
		||||
        {{/authMethods}}
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
@ -0,0 +1,36 @@
 | 
			
		||||
<?php
 | 
			
		||||
/**
 | 
			
		||||
 *  Copyright 2015 Reverb Technologies, Inc.
 | 
			
		||||
 *
 | 
			
		||||
 *  Licensed under the Apache License, Version 2.0 (the "License");
 | 
			
		||||
 *  you may not use this file except in compliance with the License.
 | 
			
		||||
 *  You may obtain a copy of the License at
 | 
			
		||||
 *
 | 
			
		||||
 *      http://www.apache.org/licenses/LICENSE-2.0
 | 
			
		||||
 *
 | 
			
		||||
 *  Unless required by applicable law or agreed to in writing, software
 | 
			
		||||
 *  distributed under the License is distributed on an "AS IS" BASIS,
 | 
			
		||||
 *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | 
			
		||||
 *  See the License for the specific language governing permissions and
 | 
			
		||||
 *  limitations under the License.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
namespace {{invokerPackage}};
 | 
			
		||||
 | 
			
		||||
class Configuration {
 | 
			
		||||
 | 
			
		||||
  public static $PATCH = "PATCH";
 | 
			
		||||
  public static $POST = "POST";
 | 
			
		||||
  public static $GET = "GET";
 | 
			
		||||
  public static $PUT = "PUT";
 | 
			
		||||
  public static $DELETE = "DELETE";
 | 
			
		||||
 | 
			
		||||
  // authentication setting
 | 
			
		||||
  public static $apiKey = array();
 | 
			
		||||
  public static $apiKeyPrefix = array();
 | 
			
		||||
  public static $username = '';
 | 
			
		||||
  public static $password = '';
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -429,6 +429,9 @@
 | 
			
		||||
        "security": [
 | 
			
		||||
          {
 | 
			
		||||
            "api_key": []
 | 
			
		||||
          },
 | 
			
		||||
          {
 | 
			
		||||
            "api_secret": []
 | 
			
		||||
          }
 | 
			
		||||
        ]
 | 
			
		||||
      }
 | 
			
		||||
@ -802,6 +805,11 @@
 | 
			
		||||
      "name": "api_key",
 | 
			
		||||
      "in": "header"
 | 
			
		||||
    },
 | 
			
		||||
    "api_secret": {
 | 
			
		||||
      "type": "apiKey",
 | 
			
		||||
      "name": "api_secret",
 | 
			
		||||
      "in": "query"
 | 
			
		||||
    },
 | 
			
		||||
    "petstore_auth": {
 | 
			
		||||
      "type": "oauth2",
 | 
			
		||||
      "authorizationUrl": "http://petstore.swagger.io/api/oauth/dialog",
 | 
			
		||||
 | 
			
		||||
@ -68,6 +68,8 @@ class APIClient {
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * update hearder and query param based on authentication setting
 | 
			
		||||
   * 
 | 
			
		||||
   * @param array $headerParams
 | 
			
		||||
   * @param array $queryParams
 | 
			
		||||
   * @param array $authSettings
 | 
			
		||||
@ -79,16 +81,22 @@ class APIClient {
 | 
			
		||||
 | 
			
		||||
    // one endpoint can have more than 1 auth settings
 | 
			
		||||
    foreach($authSettings as $auth) {
 | 
			
		||||
      // determine which auth scheme  to use
 | 
			
		||||
      // determine which one to use
 | 
			
		||||
      switch($auth) {
 | 
			
		||||
        
 | 
			
		||||
        case 'api_key':
 | 
			
		||||
           $headerParams['api_key'] = Configuration::$api_key;
 | 
			
		||||
           $headerParams['api_key'] = Configuration::$apiKey['api_key'];
 | 
			
		||||
           
 | 
			
		||||
           break;
 | 
			
		||||
        
 | 
			
		||||
        case 'api_secret':
 | 
			
		||||
           $queryParams['api_secret'] = Configuration::$apiKey['api_secret'];
 | 
			
		||||
           
 | 
			
		||||
           break;
 | 
			
		||||
        
 | 
			
		||||
        case 'petstore_auth':
 | 
			
		||||
           
 | 
			
		||||
           #TODO support oauth
 | 
			
		||||
           break;
 | 
			
		||||
        
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
@ -0,0 +1,36 @@
 | 
			
		||||
<?php
 | 
			
		||||
/**
 | 
			
		||||
 *  Copyright 2015 Reverb Technologies, Inc.
 | 
			
		||||
 *
 | 
			
		||||
 *  Licensed under the Apache License, Version 2.0 (the "License");
 | 
			
		||||
 *  you may not use this file except in compliance with the License.
 | 
			
		||||
 *  You may obtain a copy of the License at
 | 
			
		||||
 *
 | 
			
		||||
 *      http://www.apache.org/licenses/LICENSE-2.0
 | 
			
		||||
 *
 | 
			
		||||
 *  Unless required by applicable law or agreed to in writing, software
 | 
			
		||||
 *  distributed under the License is distributed on an "AS IS" BASIS,
 | 
			
		||||
 *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | 
			
		||||
 *  See the License for the specific language governing permissions and
 | 
			
		||||
 *  limitations under the License.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
namespace SwaggerClient;
 | 
			
		||||
 | 
			
		||||
class Configuration {
 | 
			
		||||
 | 
			
		||||
  public static $PATCH = "PATCH";
 | 
			
		||||
  public static $POST = "POST";
 | 
			
		||||
  public static $GET = "GET";
 | 
			
		||||
  public static $PUT = "PUT";
 | 
			
		||||
  public static $DELETE = "DELETE";
 | 
			
		||||
 | 
			
		||||
  // authentication setting
 | 
			
		||||
  public static $apiKey = array();
 | 
			
		||||
  public static $apiKeyPrefix = array();
 | 
			
		||||
  public static $username = '';
 | 
			
		||||
  public static $password = '';
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -69,7 +69,7 @@ class StoreApi {
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
      // authentication setting, if any
 | 
			
		||||
      $authSettings = array('api_key');
 | 
			
		||||
      $authSettings = array('api_key', 'api_secret');
 | 
			
		||||
 | 
			
		||||
      // make the API Call
 | 
			
		||||
      $response = $this->apiClient->callAPI($resourcePath, $method,
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user