Skip to content
This repository was archived by the owner on Dec 14, 2022. It is now read-only.

Commit ef1d496

Browse files
author
Chris Wiechmann
committed
Bugfix when API is configured with Pass Through
1 parent 31e43ff commit ef1d496

File tree

4 files changed

+170
-1
lines changed

4 files changed

+170
-1
lines changed

apibuilder4elastic/custom_flow_nodes/api-builder-plugin-axway-api-management/src/actions.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -160,6 +160,7 @@ async function _getAPISecurity(apiProxy, operationId) {
160160
var securityProfile = apiProxy.securityProfiles[i];
161161
if(!securityProfile.isDefault) continue;
162162
// For now we pick the first Security device
163+
if(securityProfile.devices.length==0) return securityDeviceTypes['passThrough'];
163164
return securityDeviceTypes[securityProfile.devices[0].type];
164165
}
165166
return "N/A";

apibuilder4elastic/custom_flow_nodes/api-builder-plugin-axway-api-management/test/test-apilookup.js

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -223,5 +223,20 @@ describe('Test API Lookup', () => {
223223
expect(output).to.equal('next');
224224
nock.cleanAll();
225225
});
226+
227+
it('should return passthrough as API-Security', async () => {
228+
nock('https://mocked-api-gateway:8175').get('/api/portal/v1.3/proxies?field=name&op=eq&value=Petstore without security').replyWithFile(200, './test/testReplies/apimanager/apiProxyPassthrough.json');
229+
nock('https://mocked-api-gateway:8175').get(`/api/portal/v1.3/organizations/439ec2bd-0350-459c-8df3-bb6d14da6bc8`).replyWithFile(200, './test/testReplies/apimanager/organizationAPIDevelopment.json');
230+
231+
const { value, output } = await flowNode.lookupAPIDetails({
232+
apiName: 'Petstore without security', apiPath: '/without/security'
233+
});
234+
expect(output).to.equal('next');
235+
expect(value.organizationName).to.equal(`API Development`);
236+
expect(value.name).to.equal(`Petstore without security`);
237+
expect(value.path).to.equal(`/without/security`);
238+
expect(value.apiSecurity).to.equal(`Pass Through`);
239+
nock.cleanAll();
240+
});
226241
});
227242
});
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,153 @@
1+
[{
2+
"id": "0bfff1a4-cbc4-446f-9704-64adf8706e30",
3+
"organizationId": "439ec2bd-0350-459c-8df3-bb6d14da6bc8",
4+
"apiId": "fa13b4fc-c501-4547-b71e-7f5011d57f72",
5+
"name": "Petstore without security",
6+
"version": "1.0.5",
7+
"apiRoutingKey": null,
8+
"vhost": null,
9+
"path": "/without/security",
10+
"descriptionType": "original",
11+
"descriptionManual": null,
12+
"descriptionMarkdown": null,
13+
"descriptionUrl": null,
14+
"summary": null,
15+
"retired": false,
16+
"expired": false,
17+
"image": null,
18+
"retirementDate": 0,
19+
"deprecated": false,
20+
"state": "unpublished",
21+
"createdOn": 1598261196053,
22+
"createdBy": "f60e3e05-cdf3-4b70-affc-4cb61a10f4bb",
23+
"corsProfiles": [
24+
{
25+
"name": "_default",
26+
"isDefault": true,
27+
"origins": [
28+
"*"
29+
],
30+
"allowedHeaders": [],
31+
"exposedHeaders": [
32+
"X-CorrelationID"
33+
],
34+
"supportCredentials": false,
35+
"maxAgeSeconds": 0
36+
}
37+
],
38+
"securityProfiles": [
39+
{
40+
"name": "_default",
41+
"isDefault": true,
42+
"devices": []
43+
}
44+
],
45+
"authenticationProfiles": [
46+
{
47+
"name": "_default",
48+
"isDefault": true,
49+
"parameters": {
50+
"_id_": 0
51+
},
52+
"type": "none"
53+
}
54+
],
55+
"inboundProfiles": {
56+
"_default": {
57+
"securityProfile": "_default",
58+
"corsProfile": "_default",
59+
"monitorAPI": true,
60+
"monitorSubject": "authentication.subject.id"
61+
}
62+
},
63+
"outboundProfiles": {
64+
"_default": {
65+
"authenticationProfile": "_default",
66+
"routeType": "proxy",
67+
"requestPolicy": null,
68+
"responsePolicy": null,
69+
"routePolicy": null,
70+
"faultHandlerPolicy": null,
71+
"apiId": null,
72+
"apiMethodId": null,
73+
"parameters": []
74+
}
75+
},
76+
"serviceProfiles": {
77+
"_default": {
78+
"apiId": "fa13b4fc-c501-4547-b71e-7f5011d57f72",
79+
"basePath": "https://petstore.swagger.io"
80+
}
81+
},
82+
"caCerts": [
83+
{
84+
"certBlob": "MIIFYDCCBEigAwIBAgIQBHaGXD1xHK+7DIzsNpFHkjANBgkqhkiG9w0BAQsFADBGMQswCQYDVQQGEwJVUzEPMA0GA1UEChMGQW1hem9uMRUwEwYDVQQLEwxTZXJ2ZXIgQ0EgMUIxDzANBgNVBAMTBkFtYXpvbjAeFw0yMDA0MTUwMDAwMDBaFw0yMTA1MTUxMjAwMDBaMBcxFTATBgNVBAMMDCouc3dhZ2dlci5pbzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANASN8RW6mBBxfSnwbQOANV2MbRtXYFj+RcZTCeN2GrltOKfhfpI89KNXVmHkqhUjC9FyS9XVQC5XsUGuR2BiCwYDpd13pgFqp0jQDv95IosqPLILQJZVoKerB5xsetRAA/5HYh2EKptJnPkjvj0ZDeNOW32IVzNEG+KZEwnJ0DXp7PQqJrkEmsLfbB413ZJXFFlMgGTP98nfzLewuS3AwlF96Il0BMyFa3UGAvB6LVEauqy7nxxMNmv/vKfA9fi+j7Q9heQCzihal9xUzgh1xSeu5V8M862wHNNkyDDzCYJ3aqGfUF22nnDju4U/+UhLQdshpb4qgb/skfrA3wFKvkCAwEAAaOCAncwggJzMB8GA1UdIwQYMBaAFFmkZgZSoHuVkjyjlAcnlnRb+T3QMB0GA1UdDgQWBBS8ra9FacL0+YDHMzSNEA0IhrYZzDAXBgNVHREEEDAOggwqLnN3YWdnZXIuaW8wDgYDVR0PAQH/BAQDAgWgMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjA7BgNVHR8ENDAyMDCgLqAshipodHRwOi8vY3JsLnNjYTFiLmFtYXpvbnRydXN0LmNvbS9zY2ExYi5jcmwwIAYDVR0gBBkwFzALBglghkgBhv1sAQIwCAYGZ4EMAQIBMHUGCCsGAQUFBwEBBGkwZzAtBggrBgEFBQcwAYYhaHR0cDovL29jc3Auc2NhMWIuYW1hem9udHJ1c3QuY29tMDYGCCsGAQUFBzAChipodHRwOi8vY3J0LnNjYTFiLmFtYXpvbnRydXN0LmNvbS9zY2ExYi5jcnQwDAYDVR0TAQH/BAIwADCCAQMGCisGAQQB1nkCBAIEgfQEgfEA7wB2APZclC/RdzAiFFQYCDCUVo7jTRMZM7/fDC8gC8xO8WTjAAABcXtMbIsAAAQDAEcwRQIgaRRwZ/FIuyRHVCa3nK8Ype9EIQNgvFsSnSiYmU3RE6wCIQCQ7ZZkTIW845VmjBJbj46tiGSkG0MzuCiSCPTws6GILQB1AFzcQ5L+5qtFRLFemtRW5hA3+9X6R9yhc5SyXub2xw7KAAABcXtMbLgAAAQDAEYwRAIgfuJGxXn/P2jCCcQS/Z3R2M8u1CV69urvEVQmlnILZJMCIAbd8o82SzcZnzKVYF653+CVH+N6GX2DmwMJ3b81H+MPMA0GCSqGSIb3DQEBCwUAA4IBAQABHMtwCTgDX/RfNwFgCg1Gveq1ut1jVg7jvagglF5keEhDWOVNrRbEuODPf3YmiFsXwngxn5ng7fZdi/xRSRqN4uQqc8KykGgFe7LX+SgcHGkjqfUJ5JbiW0D9Jtw5MDZpBvevBr31gW253V0mL4yAlwBy8F0X0Ny4NJJSkovwLYprM4aglEOpSQvW45pOWccGAvkgayW8zBBIrj7B2jSjBtCdjO1SeMQNLmkErz7/aCnsRSC+Kaw2kfiIrRtwDEuKCa2IgemmlUA1xvIR1GrRwz05QZlCuae6/uvvaqotFWCxdnNtnbUu13Hb7KPCcy742yODpso0R7RAGzFA6Kgo",
85+
"name": "CN=*.swagger.io",
86+
"alias": "CN=*.swagger.io",
87+
"subject": "CN=*.swagger.io",
88+
"issuer": "CN=Amazon, OU=Server CA 1B, O=Amazon, C=US",
89+
"version": 3,
90+
"notValidBefore": 1586908800000,
91+
"notValidAfter": 1621080000000,
92+
"signatureAlgorithm": "RSA (2048 bits)",
93+
"sha1Fingerprint": "2E:40:92:83:A6:F5:FC:C1:1D:F3:18:3B:7A:08:0E:CA:04:72:53:B6",
94+
"md5Fingerprint": "81:AD:AF:05:B1:39:ED:FF:BE:EE:79:94:28:B3:F2:10",
95+
"expired": false,
96+
"notYetValid": false,
97+
"inbound": false,
98+
"outbound": true
99+
},
100+
{
101+
"certBlob": "MIIESTCCAzGgAwIBAgITBn+UV4WH6Kx33rJTMlu8mYtWDTANBgkqhkiG9w0BAQsFADA5MQswCQYDVQQGEwJVUzEPMA0GA1UEChMGQW1hem9uMRkwFwYDVQQDExBBbWF6b24gUm9vdCBDQSAxMB4XDTE1MTAyMjAwMDAwMFoXDTI1MTAxOTAwMDAwMFowRjELMAkGA1UEBhMCVVMxDzANBgNVBAoTBkFtYXpvbjEVMBMGA1UECxMMU2VydmVyIENBIDFCMQ8wDQYDVQQDEwZBbWF6b24wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDCThZn3c68asg3Wuw6MLAd5tES6BIoSMzoKcG5blPVo+sDORrMd4f2AbnZcMzPa43j4wNxhplty6aUKk4T1qe9BOwKFjwK6zmxxLVYo7bHViXsPlJ6qOMpFge5blDP+18x+B26A0piiQOuPkfyDyeR4xQghfj66Yo19V+emU3nazfvpFA+ROz6WoVmB5x+F2pV8xeKNR7u6azDdU5YVX1TawprmxRC1+WsAYmz6qP+z8ArDITC2FMVy2fw0IjKOtEXc/VfmtTFch5+AfGYMGMqqvJ6LcXiAhqG5TI+Dr0RtM88k+8XUBCeQ8IGKuANaL7TiItKZYxK1MMuTJtV9IblAgMBAAGjggE7MIIBNzASBgNVHRMBAf8ECDAGAQH/AgEAMA4GA1UdDwEB/wQEAwIBhjAdBgNVHQ4EFgQUWaRmBlKge5WSPKOUByeWdFv5PdAwHwYDVR0jBBgwFoAUhBjMhTTsvAyUlC4IWZzHshBOCggwewYIKwYBBQUHAQEEbzBtMC8GCCsGAQUFBzABhiNodHRwOi8vb2NzcC5yb290Y2ExLmFtYXpvbnRydXN0LmNvbTA6BggrBgEFBQcwAoYuaHR0cDovL2NydC5yb290Y2ExLmFtYXpvbnRydXN0LmNvbS9yb290Y2ExLmNlcjA/BgNVHR8EODA2MDSgMqAwhi5odHRwOi8vY3JsLnJvb3RjYTEuYW1hem9udHJ1c3QuY29tL3Jvb3RjYTEuY3JsMBMGA1UdIAQMMAowCAYGZ4EMAQIBMA0GCSqGSIb3DQEBCwUAA4IBAQCFkr41u3nPo4FCHOTjY3NTOVI159Gt/a6ZiqyJEi+752+a1U5y6iAwYfmXss2lJwJFqMp2PphKg5625kXg8kP2CN5t6G7bMQcT8C8xDZNtYTd7WPD8UZiRKAJPBXa30/AbwuZe0GaFEQ8ugcYQgSn+IGBI8/LwhBNTZTUVEWuCUUBVV18YtbAiPq3yXqMB48Oz+ctBWuZSkbvkNodPLamkB2g1upRyzQ7qDn1X8nn8N8V7YJ6y68AtkHcNSRAnpTitxBKjtKPISLMVCx7i4hncxHZSyLyKQXhw2W2Xs0qLeC1etA+jTGDK4UfLeC0SF7FSi8o5LL21L8IzApar2pR/",
102+
"name": "CN=Amazon, OU=Server CA 1B, O=Amazon, C=US",
103+
"alias": "CN=Amazon, OU=Server CA 1B, O=Amazon, C=US",
104+
"subject": "CN=Amazon, OU=Server CA 1B, O=Amazon, C=US",
105+
"issuer": "CN=Amazon Root CA 1, O=Amazon, C=US",
106+
"version": 3,
107+
"notValidBefore": 1445472000000,
108+
"notValidAfter": 1760832000000,
109+
"signatureAlgorithm": "RSA (2048 bits)",
110+
"sha1Fingerprint": "91:7E:73:2D:33:0F:9A:12:40:4F:73:D8:BE:A3:69:48:B9:29:DF:FC",
111+
"md5Fingerprint": "EB:26:8E:55:D4:34:FE:BD:A3:6A:97:9A:44:65:4B:6D",
112+
"expired": false,
113+
"notYetValid": false,
114+
"inbound": false,
115+
"outbound": true
116+
},
117+
{
118+
"certBlob": "MIIEkjCCA3qgAwIBAgITBn+USionzfP6wq4rAfkI7rnExjANBgkqhkiG9w0BAQsFADCBmDELMAkGA1UEBhMCVVMxEDAOBgNVBAgTB0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxJTAjBgNVBAoTHFN0YXJmaWVsZCBUZWNobm9sb2dpZXMsIEluYy4xOzA5BgNVBAMTMlN0YXJmaWVsZCBTZXJ2aWNlcyBSb290IENlcnRpZmljYXRlIEF1dGhvcml0eSAtIEcyMB4XDTE1MDUyNTEyMDAwMFoXDTM3MTIzMTAxMDAwMFowOTELMAkGA1UEBhMCVVMxDzANBgNVBAoTBkFtYXpvbjEZMBcGA1UEAxMQQW1hem9uIFJvb3QgQ0EgMTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALJ4gHHKeNXjca9HgFB0fW7Y14h29Jlo91ghYPl0hAEvrAIthtOgQ3pOsqTQNroBvo3bSMgHFzZM9O6II8c+6zf1tRn4SWiw3te5djgdYZ6k/oI2peVKVuRF4fn9tBb6dNqcmzU5L/qwIFAGbHrQgLKm+a/sRxmPUDgH3KKHOVj4utWp+UhnMJbulHheb4mjUcAwhmahRWa6VOujw5H5SNz/0egwLX0tdHA114gk957EWW67c4cX8jJGKLhD+rcdqsq08p8kDi1L93FcXmn/6pUCyziKrlA4b9v7LWIbxcceVOF34GfID5yHI9Y/QCB/IIDEgEw+OyQmjgSubJrIqg0CAwEAAaOCATEwggEtMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGGMB0GA1UdDgQWBBSEGMyFNOy8DJSULghZnMeyEE4KCDAfBgNVHSMEGDAWgBScXwDfqgHXMCs4iKK4bUqc8hGRgzB4BggrBgEFBQcBAQRsMGowLgYIKwYBBQUHMAGGImh0dHA6Ly9vY3NwLnJvb3RnMi5hbWF6b250cnVzdC5jb20wOAYIKwYBBQUHMAKGLGh0dHA6Ly9jcnQucm9vdGcyLmFtYXpvbnRydXN0LmNvbS9yb290ZzIuY2VyMD0GA1UdHwQ2MDQwMqAwoC6GLGh0dHA6Ly9jcmwucm9vdGcyLmFtYXpvbnRydXN0LmNvbS9yb290ZzIuY3JsMBEGA1UdIAQKMAgwBgYEVR0gADANBgkqhkiG9w0BAQsFAAOCAQEAYjdCXLwQtT6LLOkMm2xF4gcAevnFWAu5CIw+7bMlPLVvUOTNNWqnkzSWMiGpSESrnO09tKpzbeR/FoCJbM8oAxiDR3mjEH4wW6w7sGDgd9QIpuEdfF7Au/maeyKdpwAJfqxGF4PcnCZXmTA5YpaP7dreqsXMGz7KQ2hsVxa81Q4gLv7/wmpdLqBKbRRYh5TmOTFffHPLkIhqhBGWJ6bt2YFGpn6jcgAKUj6DiAdjd4lpFw85hdKrCEVN0FE6/V1dN2RMfjCyVSRCnTawXZwXgWHxyvkQAiSr6w10kY17RSlQOYiypok1JR4UakcjMS9cmvqtmg5iUaQqqcT5NJ0hGA==",
119+
"name": "CN=Amazon Root CA 1, O=Amazon, C=US",
120+
"alias": "CN=Amazon Root CA 1, O=Amazon, C=US",
121+
"subject": "CN=Amazon Root CA 1, O=Amazon, C=US",
122+
"issuer": "CN=Starfield Services Root Certificate Authority - G2, O=\"Starfield Technologies, Inc.\", L=Scottsdale, ST=Arizona, C=US",
123+
"version": 3,
124+
"notValidBefore": 1432555200000,
125+
"notValidAfter": 2145834000000,
126+
"signatureAlgorithm": "RSA (2048 bits)",
127+
"sha1Fingerprint": "06:B2:59:27:C4:2A:72:16:31:C1:EF:D9:43:1E:64:8F:A6:2E:1E:39",
128+
"md5Fingerprint": "E8:65:A2:2A:AE:52:4D:26:86:9A:F0:44:8D:6F:D8:96",
129+
"expired": false,
130+
"notYetValid": false,
131+
"inbound": false,
132+
"outbound": true
133+
},
134+
{
135+
"certBlob": "MIIEdTCCA12gAwIBAgIJAKcOSkw0grd/MA0GCSqGSIb3DQEBCwUAMGgxCzAJBgNVBAYTAlVTMSUwIwYDVQQKExxTdGFyZmllbGQgVGVjaG5vbG9naWVzLCBJbmMuMTIwMAYDVQQLEylTdGFyZmllbGQgQ2xhc3MgMiBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wOTA5MDIwMDAwMDBaFw0zNDA2MjgxNzM5MTZaMIGYMQswCQYDVQQGEwJVUzEQMA4GA1UECBMHQXJpem9uYTETMBEGA1UEBxMKU2NvdHRzZGFsZTElMCMGA1UEChMcU3RhcmZpZWxkIFRlY2hub2xvZ2llcywgSW5jLjE7MDkGA1UEAxMyU3RhcmZpZWxkIFNlcnZpY2VzIFJvb3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5IC0gRzIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDVDDrEKvlO4vW+GZdfjohTsR8/y8+fIBNtKTrID30892t2OGPZNmCom15cAICyL1l/9of5JUOG52kbUpqQ4XHj2C0NTm/2yEnZtvMaVq4rtnQU68/7JuMauh2WLmo7WJSJR1b/JaCTcFOD2oR0FMNnngRoOt+OQFodSk7PQ5E751bWAHDLUu57fa4657wx+UX2wmDPE1kCK4DMNEffud6QZW0CzyyRpqbn3oUYSXxmTqM6bam17jQuug0DuDPfR+uxa40l2ZvOgdFFRjKWcIfeAg5JQ4W2bHO7ZOphQazJ1FTfhy/HIrImzJ9ZVGif/L4qL8RVHHVAYBeFAlU5i38FAgMBAAGjgfAwge0wDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAYYwHQYDVR0OBBYEFJxfAN+qAdcwKziIorhtSpzyEZGDMB8GA1UdIwQYMBaAFL9ft9HO3R+G9FtVrNzXEMIOqYjnME8GCCsGAQUFBwEBBEMwQTAcBggrBgEFBQcwAYYQaHR0cDovL28uc3MyLnVzLzAhBggrBgEFBQcwAoYVaHR0cDovL3guc3MyLnVzL3guY2VyMCYGA1UdHwQfMB0wG6AZoBeGFWh0dHA6Ly9zLnNzMi51cy9yLmNybDARBgNVHSAECjAIMAYGBFUdIAAwDQYJKoZIhvcNAQELBQADggEBACMd44pXyn3pF3lM8R5V/cxTbj5HD9/GVfKyBDbtgB9TxF00KGu+x1X8Z+rLP3+QsjPNG1gQggL4+C/1E2DUBc7xgQjB3ad1l08YuW3e95ORCLp+QCztweq7dp4zBncdDQh/U90bZKuCJ/Fp1U1ervShw3WnWEQt8jxwmKy6abaVd38PMV4s/KCHOkdp8Hlf9BRUpJVeEXgSYCfOn8J3/yNTd126/+pZ59vPr5KW7ySaNRB6nJHGDn2Z9j8Z3/VyVOEVqQdZe4O/Ui5GjLIAZHYcSNPYeehuVsyuLAOQ1xk4meTKCRlb/weWsKh/NEnfVqn3sF/tM+2MR7cwA130A4w=",
136+
"name": "CN=Starfield Services Root Certificate Authority - G2, O=\"Starfield Technologies, Inc.\", L=Scottsdale, ST=Arizona, C=US",
137+
"alias": "CN=Starfield Services Root Certificate Authority - G2, O=\"Starfield Technologies, Inc.\", L=Scottsdale, ST=Arizona, C=US",
138+
"subject": "CN=Starfield Services Root Certificate Authority - G2, O=\"Starfield Technologies, Inc.\", L=Scottsdale, ST=Arizona, C=US",
139+
"issuer": "OU=Starfield Class 2 Certification Authority, O=\"Starfield Technologies, Inc.\", C=US",
140+
"version": 3,
141+
"notValidBefore": 1251849600000,
142+
"notValidAfter": 2035129156000,
143+
"signatureAlgorithm": "RSA (2048 bits)",
144+
"sha1Fingerprint": "9E:99:A4:8A:99:60:B1:49:26:BB:7F:3B:02:E2:2D:A2:B0:AB:72:80",
145+
"md5Fingerprint": "C6:15:09:25:CF:EA:59:41:DD:C7:FF:2A:0A:50:66:92",
146+
"expired": false,
147+
"notYetValid": false,
148+
"inbound": false,
149+
"outbound": true
150+
}
151+
],
152+
"tags": {}
153+
}]

logstash/pipelines/TraceMessagesPipeline.conf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ filter {
1515
date {
1616
# LoggedDate is provided like so 13/Jul/2020:15:26:35.108
1717
match => [ "loggedDate", "dd/MMM/yyyy:HH:mm:ss.SSS" ]
18-
# We need to use the timezone given by Filebeat as might differ to the Logstash timezone
18+
# Using the given timezone by Filebeat (from the API-Gateway) as it might differ to the Logstash timezone
1919
timezone => "%{[event][timezone]}"
2020
}
2121

0 commit comments

Comments
 (0)