forked from loafle/openapi-generator-original
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