oci-common 2.48.1 → 2.49.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/auth/X509-federation-client.d.ts +3 -1
- package/lib/auth/X509-federation-client.js +3 -3
- package/lib/auth/X509-federation-client.js.map +1 -1
- package/lib/auth/abstract-federation-client-authenticated-details-provider-builder.d.ts +4 -1
- package/lib/auth/abstract-federation-client-authenticated-details-provider-builder.js +14 -6
- package/lib/auth/abstract-federation-client-authenticated-details-provider-builder.js.map +1 -1
- package/lib/auth/url-based-x509-certificate-supplier.d.ts +3 -1
- package/lib/auth/url-based-x509-certificate-supplier.js +3 -3
- package/lib/auth/url-based-x509-certificate-supplier.js.map +1 -1
- package/lib/circuit-breaker.d.ts +0 -1
- package/lib/circuit-breaker.js +0 -5
- package/lib/circuit-breaker.js.map +1 -1
- package/package.json +1 -1
|
@@ -6,6 +6,7 @@ import FederationClient from "./models/federation-client";
|
|
|
6
6
|
import SessionKeySupplier from "./models/session-key-supplier";
|
|
7
7
|
import X509CertificateSupplier from "./models/X509-certificate-supplier";
|
|
8
8
|
import SecurityTokenAdapter from "./security-token-adapter";
|
|
9
|
+
import CircuitBreaker from "../circuit-breaker";
|
|
9
10
|
export default class X509FederationClient implements FederationClient {
|
|
10
11
|
private federationEndpoint;
|
|
11
12
|
private _tenancyId;
|
|
@@ -13,9 +14,10 @@ export default class X509FederationClient implements FederationClient {
|
|
|
13
14
|
private sessionKeySupplier;
|
|
14
15
|
private intermediateCertificateSuppliers;
|
|
15
16
|
private purpose;
|
|
17
|
+
private circuitBreaker;
|
|
16
18
|
securityTokenAdapter: SecurityTokenAdapter;
|
|
17
19
|
private retry;
|
|
18
|
-
constructor(federationEndpoint: string, _tenancyId: string, _leafCertificateSupplier: X509CertificateSupplier, sessionKeySupplier: SessionKeySupplier, intermediateCertificateSuppliers: X509CertificateSupplier[], purpose: string);
|
|
20
|
+
constructor(federationEndpoint: string, _tenancyId: string, _leafCertificateSupplier: X509CertificateSupplier, sessionKeySupplier: SessionKeySupplier, intermediateCertificateSuppliers: X509CertificateSupplier[], purpose: string, circuitBreaker: CircuitBreaker);
|
|
19
21
|
get tenancyId(): string;
|
|
20
22
|
get leafCertificateSupplier(): X509CertificateSupplier;
|
|
21
23
|
/**
|
|
@@ -24,20 +24,20 @@ const auth_utils_1 = __importDefault(require("./helpers/auth-utils"));
|
|
|
24
24
|
const signer_1 = require("../signer");
|
|
25
25
|
const http_1 = require("../http");
|
|
26
26
|
const helper_1 = require("../helper");
|
|
27
|
-
const circuit_breaker_1 = __importDefault(require("../circuit-breaker"));
|
|
28
27
|
/**
|
|
29
28
|
* This class gets a security token from the auth service by signing the request with a PKI issued leaf certificate,
|
|
30
29
|
* passing along a temporary public key that is bounded to the the security token, and the leaf certificate.
|
|
31
30
|
*/
|
|
32
31
|
const INSTANCE_PRINCIPAL_GENERIC_ERROR = "Instance principals authentication can only be used on OCI compute instances. Please confirm this code is running on an OCI compute instance. See https://docs.oracle.com/en-us/iaas/Content/Identity/Tasks/callingservicesfrominstances.htm for more info.";
|
|
33
32
|
class X509FederationClient {
|
|
34
|
-
constructor(federationEndpoint, _tenancyId, _leafCertificateSupplier, sessionKeySupplier, intermediateCertificateSuppliers, purpose) {
|
|
33
|
+
constructor(federationEndpoint, _tenancyId, _leafCertificateSupplier, sessionKeySupplier, intermediateCertificateSuppliers, purpose, circuitBreaker) {
|
|
35
34
|
this.federationEndpoint = federationEndpoint;
|
|
36
35
|
this._tenancyId = _tenancyId;
|
|
37
36
|
this._leafCertificateSupplier = _leafCertificateSupplier;
|
|
38
37
|
this.sessionKeySupplier = sessionKeySupplier;
|
|
39
38
|
this.intermediateCertificateSuppliers = intermediateCertificateSuppliers;
|
|
40
39
|
this.purpose = purpose;
|
|
40
|
+
this.circuitBreaker = circuitBreaker;
|
|
41
41
|
this.retry = 0;
|
|
42
42
|
this.securityTokenAdapter = new security_token_adapter_1.default("", this.sessionKeySupplier);
|
|
43
43
|
}
|
|
@@ -176,7 +176,7 @@ class X509FederationClient {
|
|
|
176
176
|
const privateKey = certificateAndKeyPair.getPrivateKey();
|
|
177
177
|
// Instantiate AuthTokenRequestSigner to sign the request
|
|
178
178
|
const signer = new AuthTokenRequestSigner(this.tenancyId, fingerprint, privateKey);
|
|
179
|
-
const httpClient = new http_1.FetchHttpClient(signer,
|
|
179
|
+
const httpClient = new http_1.FetchHttpClient(signer, this.circuitBreaker);
|
|
180
180
|
// Call Auth Service to get a JSON object which contains the auth token
|
|
181
181
|
const response = yield httpClient.send(requestObj);
|
|
182
182
|
//TODO: Implement retry here
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"X509-federation-client.js","sourceRoot":"","sources":["../../../../../lib/auth/X509-federation-client.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;AAEH,iCAAkC;AAClC,MAAM,aAAa,GAAQ,OAAO,CAAC,gBAAgB,CAAC,CAAC;AACrD,+BAAgC;AAIhC,sFAA4D;AAC5D,sEAA6C;AAG7C,sCAA0C;AAC1C,kCAA0C;AAE1C,sCAAqD;
|
|
1
|
+
{"version":3,"file":"X509-federation-client.js","sourceRoot":"","sources":["../../../../../lib/auth/X509-federation-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,6 +8,7 @@ import { Region } from "../region";
|
|
|
8
8
|
import SessionKeySupplier from "./models/session-key-supplier";
|
|
9
9
|
import FederationClient from "./models/federation-client";
|
|
10
10
|
import { ResourceDetails } from "./url-based-x509-certificate-supplier";
|
|
11
|
+
import CircuitBreaker from "../circuit-breaker";
|
|
11
12
|
export default abstract class AbstractFederationClientAuthenticationDetailsProviderBuilder<B extends AbstractFederationClientAuthenticationDetailsProviderBuilder<B, P>, P extends AbstractAuthenticationDetailsProvider> {
|
|
12
13
|
protected template: string;
|
|
13
14
|
protected METADATA_SERVICE_BASE_URL: string;
|
|
@@ -22,10 +23,12 @@ export default abstract class AbstractFederationClientAuthenticationDetailsProvi
|
|
|
22
23
|
protected _sessionKeySupplier: SessionKeySupplier;
|
|
23
24
|
protected _federationClient: FederationClient;
|
|
24
25
|
protected _intermediateCertificateSuppliers: X509CertificateSupplier[];
|
|
26
|
+
protected _circuitBreaker: any;
|
|
25
27
|
get metadataBaseUrl(): string;
|
|
26
28
|
get federationEndpoint(): string;
|
|
27
29
|
get leafCertificateSupplier(): X509CertificateSupplier;
|
|
28
30
|
get tenancyId(): string;
|
|
31
|
+
get circuitBreaker(): CircuitBreaker;
|
|
29
32
|
getRegion(): Region;
|
|
30
33
|
set metadataBaseUrl(metadataBaseUrl: string);
|
|
31
34
|
set federationEndpoint(federationEndpoint: string);
|
|
@@ -67,5 +70,5 @@ export default abstract class AbstractFederationClientAuthenticationDetailsProvi
|
|
|
67
70
|
*
|
|
68
71
|
*/
|
|
69
72
|
protected autoDetectCertificatesUsingMetadataUrl(): Promise<void>;
|
|
70
|
-
getMetaDataResourceDetail(path: string): ResourceDetails;
|
|
73
|
+
getMetaDataResourceDetail(path: string, circuitBreaker: CircuitBreaker): ResourceDetails;
|
|
71
74
|
}
|
|
@@ -48,6 +48,11 @@ class AbstractFederationClientAuthenticationDetailsProviderBuilder {
|
|
|
48
48
|
this._tenancyId = "";
|
|
49
49
|
// Purpose: Specifies the non-default purpose of the session token to be requested. For internal use only.
|
|
50
50
|
this._purpose = "DEFAULT";
|
|
51
|
+
this._circuitBreaker = new circuit_breaker_1.default({
|
|
52
|
+
timeout: 10000,
|
|
53
|
+
errorThresholdPercentage: 50,
|
|
54
|
+
resetTimeout: 30000 // After 30 seconds, try again.
|
|
55
|
+
}).circuit;
|
|
51
56
|
}
|
|
52
57
|
// metadataBaseUrl getter
|
|
53
58
|
get metadataBaseUrl() {
|
|
@@ -65,6 +70,9 @@ class AbstractFederationClientAuthenticationDetailsProviderBuilder {
|
|
|
65
70
|
get tenancyId() {
|
|
66
71
|
return this._tenancyId;
|
|
67
72
|
}
|
|
73
|
+
get circuitBreaker() {
|
|
74
|
+
return this._circuitBreaker;
|
|
75
|
+
}
|
|
68
76
|
// region getter
|
|
69
77
|
getRegion() {
|
|
70
78
|
return this.region;
|
|
@@ -119,7 +127,7 @@ class AbstractFederationClientAuthenticationDetailsProviderBuilder {
|
|
|
119
127
|
* @return Federation Client
|
|
120
128
|
*/
|
|
121
129
|
createFederationClient(sessionKeySupplier) {
|
|
122
|
-
return new X509_federation_client_1.default(this._federationEndpoint, this._tenancyId, this._leafCertificateSupplier, sessionKeySupplier, this._intermediateCertificateSuppliers, this._purpose);
|
|
130
|
+
return new X509_federation_client_1.default(this._federationEndpoint, this._tenancyId, this._leafCertificateSupplier, sessionKeySupplier, this._intermediateCertificateSuppliers, this._purpose, this.circuitBreaker);
|
|
123
131
|
}
|
|
124
132
|
/**
|
|
125
133
|
* Auto-detect endpoint and certificate information using Instance metadata.
|
|
@@ -143,7 +151,7 @@ class AbstractFederationClientAuthenticationDetailsProviderBuilder {
|
|
|
143
151
|
headers.append("accept", "text/plain");
|
|
144
152
|
headers.append("Content-Type", "application/json");
|
|
145
153
|
headers.append(this.AUTHORIZATION, this.METADATA_AUTH_HEADERS);
|
|
146
|
-
const httpClient = new http_1.FetchHttpClient(null,
|
|
154
|
+
const httpClient = new http_1.FetchHttpClient(null, this.circuitBreaker);
|
|
147
155
|
const response = yield httpClient.send({
|
|
148
156
|
uri: url,
|
|
149
157
|
method: "GET",
|
|
@@ -183,14 +191,14 @@ class AbstractFederationClientAuthenticationDetailsProviderBuilder {
|
|
|
183
191
|
return __awaiter(this, void 0, void 0, function* () {
|
|
184
192
|
try {
|
|
185
193
|
if (!this._leafCertificateSupplier) {
|
|
186
|
-
this._leafCertificateSupplier = yield new url_based_x509_certificate_supplier_1.URLBasedX509CertificateSupplier(this.getMetaDataResourceDetail("identity/cert.pem"), this.getMetaDataResourceDetail("identity/key.pem"), null).refresh();
|
|
194
|
+
this._leafCertificateSupplier = yield new url_based_x509_certificate_supplier_1.URLBasedX509CertificateSupplier(this.getMetaDataResourceDetail("identity/cert.pem", this.circuitBreaker), this.getMetaDataResourceDetail("identity/key.pem", this.circuitBreaker), null).refresh();
|
|
187
195
|
}
|
|
188
196
|
if (this._tenancyId === "") {
|
|
189
197
|
this._tenancyId = auth_utils_1.default.getTenantIdFromCertificate(this._leafCertificateSupplier.getCertificateAndKeyPair().getCertificate());
|
|
190
198
|
}
|
|
191
199
|
if (!this._intermediateCertificateSuppliers) {
|
|
192
200
|
this._intermediateCertificateSuppliers = [
|
|
193
|
-
yield new url_based_x509_certificate_supplier_1.URLBasedX509CertificateSupplier(this.getMetaDataResourceDetail("identity/intermediate.pem"), null, null).refresh()
|
|
201
|
+
yield new url_based_x509_certificate_supplier_1.URLBasedX509CertificateSupplier(this.getMetaDataResourceDetail("identity/intermediate.pem", this.circuitBreaker), null, null).refresh()
|
|
194
202
|
];
|
|
195
203
|
}
|
|
196
204
|
}
|
|
@@ -199,11 +207,11 @@ class AbstractFederationClientAuthenticationDetailsProviderBuilder {
|
|
|
199
207
|
}
|
|
200
208
|
});
|
|
201
209
|
}
|
|
202
|
-
getMetaDataResourceDetail(path) {
|
|
210
|
+
getMetaDataResourceDetail(path, circuitBreaker) {
|
|
203
211
|
const url = this._metadataBaseUrl + path;
|
|
204
212
|
let headers = new Headers();
|
|
205
213
|
headers.append(this.AUTHORIZATION, this.METADATA_AUTH_HEADERS);
|
|
206
|
-
return new url_based_x509_certificate_supplier_1.ResourceDetails(url, headers);
|
|
214
|
+
return new url_based_x509_certificate_supplier_1.ResourceDetails(url, headers, circuitBreaker);
|
|
207
215
|
}
|
|
208
216
|
}
|
|
209
217
|
exports.default = AbstractFederationClientAuthenticationDetailsProviderBuilder;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"abstract-federation-client-authenticated-details-provider-builder.js","sourceRoot":"","sources":["../../../../../lib/auth/abstract-federation-client-authenticated-details-provider-builder.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;AAEH;;;;GAIG;AAEH,0DAAsD;AACtD,kCAA0C;AAG1C,sCAAmC;AACnC,oCAAiC;AACjC,sEAA6C;AAG7C,sFAA4D;AAC5D,kFAA4D;AAC5D,+FAG+C;AAC/C,yEAAgD;AAEhD,MAAM,gCAAgC,GACpC,6PAA6P,CAAC;AAEhQ,MAA8B,4DAA4D;IAA1F;QAIE,iCAAiC;QACvB,aAAQ,GAAG,2CAA2C,CAAC;QAEjE,wCAAwC;QAC9B,8BAAyB,GAAG,gCAAgC,CAAC;QAEvE,kFAAkF;QAC1E,0BAAqB,GAAG,eAAe,CAAC;QACxC,kBAAa,GAAG,eAAe,CAAC;QAExC,gCAAgC;QACtB,qBAAgB,GAAG,IAAI,CAAC,yBAAyB,CAAC;QAE5D,+BAA+B;QACrB,wBAAmB,GAAW,EAAE,CAAC;QAK3C,mEAAmE;QACzD,eAAU,GAAW,EAAE,CAAC;QAElC,0GAA0G;QAClG,aAAQ,GAAW,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"abstract-federation-client-authenticated-details-provider-builder.js","sourceRoot":"","sources":["../../../../../lib/auth/abstract-federation-client-authenticated-details-provider-builder.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,6 +6,7 @@ import { Certificate, PrivateKey } from "sshpk";
|
|
|
6
6
|
import X509CertificateSupplier from "./models/X509-certificate-supplier";
|
|
7
7
|
import CertificateAndPrivateKeyPair from "./certificate-and-privatekey-pair";
|
|
8
8
|
import Refreshable from "./models/refreshable";
|
|
9
|
+
import CircuitBreaker from "../circuit-breaker";
|
|
9
10
|
/**
|
|
10
11
|
* A class that retrieves certificate based on metadata service url
|
|
11
12
|
*/
|
|
@@ -32,7 +33,8 @@ export declare class URLBasedX509CertificateSupplier implements X509CertificateS
|
|
|
32
33
|
export declare class ResourceDetails {
|
|
33
34
|
private url;
|
|
34
35
|
private headers;
|
|
35
|
-
|
|
36
|
+
private circuitBreaker;
|
|
37
|
+
constructor(url: string, headers: Headers, circuitBreaker: CircuitBreaker);
|
|
36
38
|
send(): Promise<Response>;
|
|
37
39
|
getUrl(): string;
|
|
38
40
|
}
|
|
@@ -21,7 +21,6 @@ const sshpk_1 = require("sshpk");
|
|
|
21
21
|
const http_1 = require("../http");
|
|
22
22
|
const certificate_and_privatekey_pair_1 = __importDefault(require("./certificate-and-privatekey-pair"));
|
|
23
23
|
const helper_1 = require("../helper");
|
|
24
|
-
const circuit_breaker_1 = __importDefault(require("../circuit-breaker"));
|
|
25
24
|
/**
|
|
26
25
|
* A class that retrieves certificate based on metadata service url
|
|
27
26
|
*/
|
|
@@ -86,13 +85,14 @@ class URLBasedX509CertificateSupplier {
|
|
|
86
85
|
}
|
|
87
86
|
exports.URLBasedX509CertificateSupplier = URLBasedX509CertificateSupplier;
|
|
88
87
|
class ResourceDetails {
|
|
89
|
-
constructor(url, headers) {
|
|
88
|
+
constructor(url, headers, circuitBreaker) {
|
|
90
89
|
this.url = url;
|
|
91
90
|
this.headers = headers;
|
|
91
|
+
this.circuitBreaker = circuitBreaker;
|
|
92
92
|
}
|
|
93
93
|
send() {
|
|
94
94
|
return __awaiter(this, void 0, void 0, function* () {
|
|
95
|
-
const httpClient = new http_1.FetchHttpClient(null,
|
|
95
|
+
const httpClient = new http_1.FetchHttpClient(null, this.circuitBreaker);
|
|
96
96
|
const response = yield httpClient.send({
|
|
97
97
|
uri: this.url,
|
|
98
98
|
method: "GET",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"url-based-x509-certificate-supplier.js","sourceRoot":"","sources":["../../../../../lib/auth/url-based-x509-certificate-supplier.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA;;;GAGG;AACH,iCAAmF;AACnF,kCAA0C;AAE1C,wGAA6E;AAE7E,sCAAsD;
|
|
1
|
+
{"version":3,"file":"url-based-x509-certificate-supplier.js","sourceRoot":"","sources":["../../../../../lib/auth/url-based-x509-certificate-supplier.ts"],"names":[],"mappings":"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"}
|
package/lib/circuit-breaker.d.ts
CHANGED
|
@@ -28,7 +28,6 @@ export default class CircuitBreaker {
|
|
|
28
28
|
private static DefaultConfiguration;
|
|
29
29
|
static get defaultConfiguration(): CircuitBreakerOptions;
|
|
30
30
|
static set defaultConfiguration(circuitBreakerConfig: CircuitBreakerOptions);
|
|
31
|
-
static internalCircuit: any;
|
|
32
31
|
constructor(options?: CircuitBreakerOptions);
|
|
33
32
|
}
|
|
34
33
|
export {};
|
package/lib/circuit-breaker.js
CHANGED
|
@@ -101,9 +101,4 @@ CircuitBreaker.DefaultConfiguration = {
|
|
|
101
101
|
volumeThreshold: 10,
|
|
102
102
|
errorFilter: defaultErrorFilterFunction
|
|
103
103
|
};
|
|
104
|
-
CircuitBreaker.internalCircuit = new Breaker(FetchWrapper, {
|
|
105
|
-
timeout: 10000,
|
|
106
|
-
errorThresholdPercentage: 50,
|
|
107
|
-
resetTimeout: 30000 // After 30 seconds, try again.
|
|
108
|
-
});
|
|
109
104
|
//# sourceMappingURL=circuit-breaker.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"circuit-breaker.js","sourceRoot":"","sources":["../../../../lib/circuit-breaker.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;AAEH,qCAAgE;AAChE,uCAAkD;AAElD,MAAM,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;AAEnC,SAAe,YAAY,CACzB,GAAgB,EAChB,OAAgC,EAChC,aAAqB,EACrB,aAAqB,EACrB,SAAiB,EACjB,QAAgB,EAChB,gBAAwB;;QAExB,OAAO,IAAI,OAAO,CAAC,CAAO,OAAO,EAAE,MAAM,EAAE,EAAE;YAC3C,IAAI;gBACF,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;gBAC3C,IAAI,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,MAAM,IAAI,GAAG,IAAI,QAAQ,CAAC,MAAM,IAAI,GAAG,EAAE;oBACvE,OAAO,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;iBACvB;qBAAM;oBACL,MAAM,aAAa,GAAG,QAAQ,CAAC,KAAK,EAAE,CAAC;oBACvC,MAAM,OAAO,GAAG,MAAM,wBAAe,CAAC,aAAa,CAAC,CAAC;oBACrD,MAAM,WAAW,GAAG,4BAAmB,CACrC,aAAa,EACb,OAAO,EACP,aAAa,EACb,aAAa,EACb,SAAS,EACT,QAAQ,EACR,gBAAgB,CACjB,CAAC;oBACF,MAAM,CAAC;wBACL,QAAQ;wBACR,WAAW;qBACZ,CAAC,CAAC;iBACJ;aACF;YAAC,OAAO,CAAC,EAAE;gBACV,8DAA8D;gBAC9D,MAAM,CAAC,CAAC,CAAC,CAAC;aACX;QACH,CAAC,CAAA,CAAC,CAAC;IACL,CAAC;CAAA;AAED,SAAS,0BAA0B,CAAC,CAAM;IACxC,OAAO,CAAC,GAAG,CAAC,mCAAmC,EAAE,CAAC,CAAC,CAAC;IACpD,+DAA+D;IAC/D,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,WAAW,IAAI,+BAAqB,CAAC,eAAe,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,EAAE;QACrF,OAAO,KAAK,CAAC;KACd;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAoBD,MAAqB,cAAc;
|
|
1
|
+
{"version":3,"file":"circuit-breaker.js","sourceRoot":"","sources":["../../../../lib/circuit-breaker.ts"],"names":[],"mappings":"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"}
|