mirror of
				https://github.com/OpenAPITools/openapi-generator.git
				synced 2025-11-04 10:43:44 +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");
 | 
					    typeMapping.put("list", "array");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    supportingFiles.add(new SupportingFile("composer.mustache", packagePath, "composer.json"));
 | 
					    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("APIClient.mustache", packagePath + "/lib", "APIClient.php"));
 | 
				
			||||||
    supportingFiles.add(new SupportingFile("APIClientException.mustache", packagePath + "/lib", "APIClientException.php"));
 | 
					    supportingFiles.add(new SupportingFile("APIClientException.mustache", packagePath + "/lib", "APIClientException.php"));
 | 
				
			||||||
    supportingFiles.add(new SupportingFile("require.mustache", packagePath, invokerPackage + ".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 $headerParams
 | 
				
			||||||
   * @param array $queryParams
 | 
					   * @param array $queryParams
 | 
				
			||||||
   * @param array $authSettings
 | 
					   * @param array $authSettings
 | 
				
			||||||
@ -83,7 +85,8 @@ class APIClient {
 | 
				
			|||||||
      switch($auth) {
 | 
					      switch($auth) {
 | 
				
			||||||
        {{#authMethods}}
 | 
					        {{#authMethods}}
 | 
				
			||||||
        case '{{name}}':
 | 
					        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;
 | 
					           break;
 | 
				
			||||||
        {{/authMethods}}
 | 
					        {{/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": [
 | 
					        "security": [
 | 
				
			||||||
          {
 | 
					          {
 | 
				
			||||||
            "api_key": []
 | 
					            "api_key": []
 | 
				
			||||||
 | 
					          },
 | 
				
			||||||
 | 
					          {
 | 
				
			||||||
 | 
					            "api_secret": []
 | 
				
			||||||
          }
 | 
					          }
 | 
				
			||||||
        ]
 | 
					        ]
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
@ -802,6 +805,11 @@
 | 
				
			|||||||
      "name": "api_key",
 | 
					      "name": "api_key",
 | 
				
			||||||
      "in": "header"
 | 
					      "in": "header"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					    "api_secret": {
 | 
				
			||||||
 | 
					      "type": "apiKey",
 | 
				
			||||||
 | 
					      "name": "api_secret",
 | 
				
			||||||
 | 
					      "in": "query"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    "petstore_auth": {
 | 
					    "petstore_auth": {
 | 
				
			||||||
      "type": "oauth2",
 | 
					      "type": "oauth2",
 | 
				
			||||||
      "authorizationUrl": "http://petstore.swagger.io/api/oauth/dialog",
 | 
					      "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 $headerParams
 | 
				
			||||||
   * @param array $queryParams
 | 
					   * @param array $queryParams
 | 
				
			||||||
   * @param array $authSettings
 | 
					   * @param array $authSettings
 | 
				
			||||||
@ -79,16 +81,22 @@ class APIClient {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    // one endpoint can have more than 1 auth settings
 | 
					    // one endpoint can have more than 1 auth settings
 | 
				
			||||||
    foreach($authSettings as $auth) {
 | 
					    foreach($authSettings as $auth) {
 | 
				
			||||||
      // determine which auth scheme  to use
 | 
					      // determine which one to use
 | 
				
			||||||
      switch($auth) {
 | 
					      switch($auth) {
 | 
				
			||||||
        
 | 
					        
 | 
				
			||||||
        case 'api_key':
 | 
					        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;
 | 
					           break;
 | 
				
			||||||
        
 | 
					        
 | 
				
			||||||
        case 'petstore_auth':
 | 
					        case 'petstore_auth':
 | 
				
			||||||
           
 | 
					           
 | 
				
			||||||
 | 
					           #TODO support oauth
 | 
				
			||||||
           break;
 | 
					           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
 | 
					      // authentication setting, if any
 | 
				
			||||||
      $authSettings = array('api_key');
 | 
					      $authSettings = array('api_key', 'api_secret');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      // make the API Call
 | 
					      // make the API Call
 | 
				
			||||||
      $response = $this->apiClient->callAPI($resourcePath, $method,
 | 
					      $response = $this->apiClient->callAPI($resourcePath, $method,
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user