@sap-cloud-sdk/connectivity 3.17.0 → 3.17.1-20240802013802.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/dist/scp-cf/destination/destination-accessor.js +4 -4
- package/dist/scp-cf/destination/destination-accessor.js.map +1 -1
- package/dist/scp-cf/destination/destination-from-service.js +16 -17
- package/dist/scp-cf/destination/destination-from-service.js.map +1 -1
- package/dist/scp-cf/destination/destination-service.js +11 -11
- package/dist/scp-cf/destination/destination-service.js.map +1 -1
- package/dist/scp-cf/destination/get-subscriber-token.js +21 -16
- package/dist/scp-cf/destination/get-subscriber-token.js.map +1 -1
- package/dist/scp-cf/identity-service.js +1 -1
- package/dist/scp-cf/identity-service.js.map +1 -1
- package/dist/scp-cf/jwt.d.ts +11 -4
- package/dist/scp-cf/jwt.js +22 -10
- package/dist/scp-cf/jwt.js.map +1 -1
- package/dist/scp-cf/tenant.d.ts +0 -7
- package/dist/scp-cf/tenant.js +1 -13
- package/dist/scp-cf/tenant.js.map +1 -1
- package/dist/scp-cf/token-accessor.js +4 -5
- package/dist/scp-cf/token-accessor.js.map +1 -1
- package/dist/scp-cf/xsuaa-service.d.ts +2 -2
- package/dist/scp-cf/xsuaa-service.js +12 -11
- package/dist/scp-cf/xsuaa-service.js.map +1 -1
- package/package.json +3 -3
|
@@ -3,8 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.getAllDestinationsFromDestinationService = exports.getDestination = exports.resolveDestination = exports.useOrFetchDestination = void 0;
|
|
4
4
|
const util_1 = require("@sap-cloud-sdk/util");
|
|
5
5
|
const identity_service_1 = require("../identity-service");
|
|
6
|
-
const subdomain_replacer_1 = require("../subdomain-replacer");
|
|
7
6
|
const environment_accessor_1 = require("../environment-accessor");
|
|
7
|
+
const jwt_1 = require("../jwt");
|
|
8
8
|
const destination_1 = require("./destination");
|
|
9
9
|
const destination_from_env_1 = require("./destination-from-env");
|
|
10
10
|
const destination_from_vcap_1 = require("./destination-from-vcap");
|
|
@@ -98,8 +98,8 @@ async function getAllDestinationsFromDestinationService(options = {}) {
|
|
|
98
98
|
const token = (await (0, get_subscriber_token_1.getSubscriberToken)(options))?.serviceJwt ||
|
|
99
99
|
(await (0, get_provider_token_1.getProviderServiceToken)(options));
|
|
100
100
|
const destinationServiceUri = (0, environment_accessor_1.getDestinationServiceCredentials)().uri;
|
|
101
|
-
const
|
|
102
|
-
logger.debug(`Retrieving all destinations for account: "${
|
|
101
|
+
const subdomain = (0, jwt_1.getSubdomain)(token.decoded);
|
|
102
|
+
logger.debug(`Retrieving all destinations for account: "${subdomain}" from destination service.`);
|
|
103
103
|
const [instance, subaccount] = await Promise.all([
|
|
104
104
|
(0, destination_service_1.fetchDestinations)(destinationServiceUri, token.encoded, 'instance', options),
|
|
105
105
|
(0, destination_service_1.fetchDestinations)(destinationServiceUri, token.encoded, 'subaccount', options)
|
|
@@ -109,7 +109,7 @@ async function getAllDestinationsFromDestinationService(options = {}) {
|
|
|
109
109
|
logger.debug(loggerMessage);
|
|
110
110
|
const allDestinations = [...instance, ...subaccount];
|
|
111
111
|
if (allDestinations?.length) {
|
|
112
|
-
logger.debug(`Successfully retrieved all destinations for account: "${
|
|
112
|
+
logger.debug(`Successfully retrieved all destinations for account: "${subdomain}" from destination service.`);
|
|
113
113
|
}
|
|
114
114
|
else {
|
|
115
115
|
logger.debug("Didn't receive any destinations from destination service.");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"destination-accessor.js","sourceRoot":"","sources":["../../../src/scp-cf/destination/destination-accessor.ts"],"names":[],"mappings":";;;AAAA,8CAAmE;AACnE,0DAAyE;AACzE,
|
|
1
|
+
{"version":3,"file":"destination-accessor.js","sourceRoot":"","sources":["../../../src/scp-cf/destination/destination-accessor.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,9 +5,9 @@ const util_1 = require("@sap-cloud-sdk/util");
|
|
|
5
5
|
const connectivity_service_1 = require("../connectivity-service");
|
|
6
6
|
const environment_accessor_1 = require("../environment-accessor");
|
|
7
7
|
const identity_service_1 = require("../identity-service");
|
|
8
|
+
const jwt_1 = require("../jwt");
|
|
8
9
|
const tenant_1 = require("../tenant");
|
|
9
10
|
const token_accessor_1 = require("../token-accessor");
|
|
10
|
-
const subdomain_replacer_1 = require("../subdomain-replacer");
|
|
11
11
|
const destination_cache_1 = require("./destination-cache");
|
|
12
12
|
const destination_selection_strategies_1 = require("./destination-selection-strategies");
|
|
13
13
|
const destination_service_1 = require("./destination-service");
|
|
@@ -142,8 +142,9 @@ class DestinationFromServiceRetriever {
|
|
|
142
142
|
if (destination.originalProperties?.['tokenServiceURLType'] !== 'Common') {
|
|
143
143
|
return undefined;
|
|
144
144
|
}
|
|
145
|
-
const subdomainSubscriber = (0,
|
|
146
|
-
|
|
145
|
+
const subdomainSubscriber = (0, jwt_1.getSubdomain)(this.subscriberToken?.serviceJwt?.decoded) ||
|
|
146
|
+
(0, jwt_1.getSubdomain)(this.subscriberToken?.userJwt?.decoded);
|
|
147
|
+
const subdomainProvider = (0, jwt_1.getSubdomain)(this.providerServiceToken?.decoded);
|
|
147
148
|
return subdomainSubscriber || subdomainProvider || undefined;
|
|
148
149
|
}
|
|
149
150
|
async getAuthTokenForOAuth2ClientCredentials(destinationResult) {
|
|
@@ -179,22 +180,26 @@ Possible alternatives for such technical user authentication are BasicAuthentica
|
|
|
179
180
|
}
|
|
180
181
|
// This covers OAuth to user-dependent auth flows https://help.sap.com/viewer/cca91383641e40ffbe03bdc78f00f681/Cloud/en-US/39d42654093e4f8db20398a06f7eab2b.html and https://api.sap.com/api/SAP_CP_CF_Connectivity_Destination/resource
|
|
181
182
|
// Which is the same for: OAuth2UserTokenExchange, OAuth2JWTBearer and OAuth2SAMLBearerAssertion
|
|
182
|
-
|
|
183
|
-
|
|
183
|
+
const isXsuaaUserJwt = (0, jwt_1.isXsuaaToken)(this.subscriberToken.userJwt.decoded);
|
|
184
|
+
// If subscriber user token was not issued by XSUAA enforce the JWKS properties are there - destination service would do that as well. https://help.sap.com/docs/CP_CONNECTIVITY/cca91383641e40ffbe03bdc78f00f681/d81e1683bd434823abf3ceefc4ff157f.html
|
|
185
|
+
if (!isXsuaaUserJwt) {
|
|
184
186
|
DestinationFromServiceRetriever.checkDestinationForCustomJwt(destination);
|
|
185
187
|
}
|
|
186
|
-
// Case 1
|
|
187
|
-
|
|
188
|
+
// Case 1: subscriber account is the provider account, user JWT is from XSUAA
|
|
189
|
+
// x-user-token header not needed
|
|
190
|
+
if (isXsuaaUserJwt &&
|
|
188
191
|
(0, tenant_1.isIdenticalTenant)(this.subscriberToken.userJwt.decoded, this.providerServiceToken.decoded)) {
|
|
189
192
|
logger.debug(`UserExchange flow started without user exchange token for destination ${destinationName} of the provider account.`);
|
|
190
193
|
return {
|
|
191
194
|
authHeaderJwt: await (0, token_accessor_1.jwtBearerToken)(this.subscriberToken.userJwt.encoded, getDestinationService())
|
|
192
195
|
};
|
|
193
196
|
}
|
|
194
|
-
// Case
|
|
197
|
+
// Case 2a: subscriber and provider account not the same
|
|
198
|
+
// Case 2b: user token is not an XSUAA token
|
|
199
|
+
// x-user-token needed
|
|
195
200
|
const serviceJwt = origin === 'provider'
|
|
196
201
|
? this.providerServiceToken
|
|
197
|
-
: //
|
|
202
|
+
: // on type level this could be undefined, but logically if the origin is subscriber, it must be defined.
|
|
198
203
|
this.subscriberToken.serviceJwt;
|
|
199
204
|
logger.debug(`UserExchange flow started for destination ${destinationName} of the ${origin} account.`);
|
|
200
205
|
return {
|
|
@@ -303,16 +308,10 @@ Possible alternatives for such technical user authentication are BasicAuthentica
|
|
|
303
308
|
return true;
|
|
304
309
|
}
|
|
305
310
|
isSubscriberNeeded() {
|
|
306
|
-
if (!this.subscriberToken) {
|
|
307
|
-
return false;
|
|
308
|
-
}
|
|
309
|
-
if (!this.subscriberToken.serviceJwt) {
|
|
310
|
-
return false;
|
|
311
|
-
}
|
|
312
|
-
if (this.options.selectionStrategy.toString() === destination_selection_strategies_1.alwaysProvider.toString()) {
|
|
311
|
+
if (!this.subscriberToken?.serviceJwt) {
|
|
313
312
|
return false;
|
|
314
313
|
}
|
|
315
|
-
return
|
|
314
|
+
return (this.options.selectionStrategy.toString() !== destination_selection_strategies_1.alwaysProvider.toString());
|
|
316
315
|
}
|
|
317
316
|
async searchProviderAccountForDestination() {
|
|
318
317
|
return ((this.options.useCache && (await this.getProviderDestinationCache())) ||
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"destination-from-service.js","sourceRoot":"","sources":["../../../src/scp-cf/destination/destination-from-service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"destination-from-service.js","sourceRoot":"","sources":["../../../src/scp-cf/destination/destination-from-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -36,7 +36,6 @@ const asyncRetry = __importStar(require("async-retry"));
|
|
|
36
36
|
const jwt_1 = require("../jwt");
|
|
37
37
|
const http_agent_1 = require("../../http-agent");
|
|
38
38
|
const authorization_header_1 = require("../authorization-header");
|
|
39
|
-
const tenant_1 = require("../tenant");
|
|
40
39
|
const destination_1 = require("./destination");
|
|
41
40
|
const destination_service_cache_1 = require("./destination-service-cache");
|
|
42
41
|
const logger = (0, util_1.createLogger)({
|
|
@@ -62,7 +61,7 @@ async function fetchDestinations(destinationServiceUri, serviceToken, type, opti
|
|
|
62
61
|
}
|
|
63
62
|
}
|
|
64
63
|
const headers = (0, jwt_1.wrapJwtInHeader)(serviceToken).headers;
|
|
65
|
-
return callDestinationEndpoint({ uri: targetUri, tenantId:
|
|
64
|
+
return callDestinationEndpoint({ uri: targetUri, tenantId: getTenantIdFromTokens(serviceToken) }, headers)
|
|
66
65
|
.then(response => {
|
|
67
66
|
const destinations = response.data.map(destination => (0, destination_1.parseDestination)(destination));
|
|
68
67
|
if (options?.useCache) {
|
|
@@ -86,7 +85,7 @@ exports.fetchDestinations = fetchDestinations;
|
|
|
86
85
|
async function fetchDestinationWithoutTokenRetrieval(destinationName, destinationServiceUri, serviceToken) {
|
|
87
86
|
const targetUri = `${(0, util_1.removeTrailingSlashes)(destinationServiceUri)}/destination-configuration/v1/destinations/${destinationName}?$skipTokenRetrieval=true`;
|
|
88
87
|
try {
|
|
89
|
-
const response = await callDestinationEndpoint({ uri: targetUri, tenantId:
|
|
88
|
+
const response = await callDestinationEndpoint({ uri: targetUri, tenantId: getTenantIdFromTokens(serviceToken) }, { Authorization: `Bearer ${serviceToken}` });
|
|
90
89
|
const destination = (0, destination_1.parseDestination)(response.data.destinationConfiguration);
|
|
91
90
|
return {
|
|
92
91
|
instance: response.data.owner?.InstanceId ? [destination] : [],
|
|
@@ -127,9 +126,9 @@ async function fetchCertificate(destinationServiceUri, token, certificateName) {
|
|
|
127
126
|
const instanceUri = `${(0, util_1.removeTrailingSlashes)(destinationServiceUri)}/destination-configuration/v1/instanceCertificates/${certificateName}`;
|
|
128
127
|
const header = (0, jwt_1.wrapJwtInHeader)(token).headers;
|
|
129
128
|
try {
|
|
130
|
-
const response = await callCertificateEndpoint({ uri: accountUri, tenantId:
|
|
129
|
+
const response = await callCertificateEndpoint({ uri: accountUri, tenantId: getTenantIdFromTokens(token) }, header).catch(() => callCertificateEndpoint({
|
|
131
130
|
uri: instanceUri,
|
|
132
|
-
tenantId:
|
|
131
|
+
tenantId: getTenantIdFromTokens(token)
|
|
133
132
|
}, header));
|
|
134
133
|
return (0, destination_1.parseCertificate)(response.data);
|
|
135
134
|
}
|
|
@@ -138,16 +137,17 @@ async function fetchCertificate(destinationServiceUri, token, certificateName) {
|
|
|
138
137
|
}
|
|
139
138
|
}
|
|
140
139
|
exports.fetchCertificate = fetchCertificate;
|
|
141
|
-
function
|
|
140
|
+
function getTenantIdFromTokens(token) {
|
|
142
141
|
let tenant;
|
|
143
142
|
if (typeof token === 'string') {
|
|
144
|
-
tenant = (0,
|
|
143
|
+
tenant = (0, jwt_1.getTenantId)(token);
|
|
145
144
|
}
|
|
146
145
|
else {
|
|
147
146
|
tenant =
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
(0,
|
|
147
|
+
// represents the tenant as string already see https://api.sap.com/api/SAP_CP_CF_Connectivity_Destination/resource
|
|
148
|
+
token.exchangeTenant ||
|
|
149
|
+
(0, jwt_1.getTenantId)(token.exchangeHeaderJwt) ||
|
|
150
|
+
(0, jwt_1.getTenantId)(token.authHeaderJwt);
|
|
151
151
|
}
|
|
152
152
|
if (!tenant) {
|
|
153
153
|
throw new Error('Could not obtain tenant identifier from JWT.');
|
|
@@ -176,7 +176,7 @@ async function fetchDestinationWithTokenRetrieval(destinationServiceUri, token,
|
|
|
176
176
|
authHeader = token.refreshToken
|
|
177
177
|
? { ...authHeader, 'X-refresh-token': token.refreshToken }
|
|
178
178
|
: authHeader;
|
|
179
|
-
return callDestinationEndpoint({ uri: targetUri, tenantId:
|
|
179
|
+
return callDestinationEndpoint({ uri: targetUri, tenantId: getTenantIdFromTokens(token) }, authHeader, options)
|
|
180
180
|
.then(response => {
|
|
181
181
|
const destination = (0, destination_1.parseDestination)(response.data);
|
|
182
182
|
return destination;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"destination-service.js","sourceRoot":"","sources":["../../../src/scp-cf/destination/destination-service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,8CAK6B;AAC7B,wCAAwC;AACxC,kDAAgF;AAChF,iEAA2E;AAC3E,0DAImC;AACnC,wDAA0C;AAC1C,
|
|
1
|
+
{"version":3,"file":"destination-service.js","sourceRoot":"","sources":["../../../src/scp-cf/destination/destination-service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,8CAK6B;AAC7B,wCAAwC;AACxC,kDAAgF;AAChF,iEAA2E;AAC3E,0DAImC;AACnC,wDAA0C;AAC1C,gCAAiE;AACjE,iDAA+C;AAC/C,kEAAoE;AACpE,+CAKuB;AAKvB,2EAAsE;AAMtE,MAAM,MAAM,GAAG,IAAA,mBAAY,EAAC;IAC1B,OAAO,EAAE,cAAc;IACvB,cAAc,EAAE,qBAAqB;CACtC,CAAC,CAAC;AAQH;;;;;;;;GAQG;AACI,KAAK,UAAU,iBAAiB,CACrC,qBAA6B,EAC7B,YAAoB,EACpB,IAA+B,EAC/B,OAAoC;IAEpC,MAAM,SAAS,GAAG,GAAG,IAAA,4BAAqB,EACxC,qBAAqB,CACtB,iCAAiC,IAAI,cAAc,CAAC;IAErD,IAAI,OAAO,EAAE,QAAQ,EAAE,CAAC;QACtB,MAAM,qBAAqB,GACzB,mDAAuB,CAAC,6BAA6B,CACnD,SAAS,EACT,IAAA,eAAS,EAAC,YAAY,CAAC,CACxB,CAAC;QACJ,IAAI,qBAAqB,EAAE,CAAC;YAC1B,MAAM,CAAC,KAAK,CACV,iDAAiD,qBAAqB,CAAC,MAAM,wCAAwC,CACtH,CAAC;YACF,OAAO,qBAAqB,CAAC;QAC/B,CAAC;IACH,CAAC;IAED,MAAM,OAAO,GAAG,IAAA,qBAAe,EAAC,YAAY,CAAC,CAAC,OAAO,CAAC;IAEtD,OAAO,uBAAuB,CAC5B,EAAE,GAAG,EAAE,SAAS,EAAE,QAAQ,EAAE,qBAAqB,CAAC,YAAY,CAAC,EAAE,EACjE,OAAO,CACR;SACE,IAAI,CAAC,QAAQ,CAAC,EAAE;QACf,MAAM,YAAY,GAAkB,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAClE,IAAA,8BAAgB,EAAC,WAAW,CAAC,CAC9B,CAAC;QAEF,IAAI,OAAO,EAAE,QAAQ,EAAE,CAAC;YACtB,mDAAuB,CAAC,0BAA0B,CAChD,SAAS,EACT,IAAA,eAAS,EAAC,YAAY,CAAC,EACvB,YAAY,CACb,CAAC;QACJ,CAAC;QACD,OAAO,YAAY,CAAC;IACtB,CAAC,CAAC;SACD,KAAK,CAAC,KAAK,CAAC,EAAE;QACb,MAAM,IAAI,qBAAc,CACtB,mBAAmB,IAAI,iBAAiB,wBAAwB,CAC9D,KAAK,CACN,EAAE,EACH,KAAK,CACN,CAAC;IACJ,CAAC,CAAC,CAAC;AACP,CAAC;AApDD,8CAoDC;AAwBD;;;;;;;GAOG;AACI,KAAK,UAAU,qCAAqC,CACzD,eAAuB,EACvB,qBAA6B,EAC7B,YAAoB;IAEpB,MAAM,SAAS,GAAG,GAAG,IAAA,4BAAqB,EACxC,qBAAqB,CACtB,8CAA8C,eAAe,2BAA2B,CAAC;IAE1F,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,uBAAuB,CAC5C,EAAE,GAAG,EAAE,SAAS,EAAE,QAAQ,EAAE,qBAAqB,CAAC,YAAY,CAAC,EAAE,EACjE,EAAE,aAAa,EAAE,UAAU,YAAY,EAAE,EAAE,CAC5C,CAAC;QACF,MAAM,WAAW,GAAG,IAAA,8BAAgB,EAClC,QAAQ,CAAC,IAAI,CAAC,wBAAwB,CACvC,CAAC;QAEF,OAAO;YACL,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE;YAC9D,UAAU,EACR,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,YAAY;gBACnE,CAAC,CAAC,CAAC,WAAW,CAAC;gBACf,CAAC,CAAC,EAAE;SACT,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IACE,GAAG,CAAC,QAAQ,EAAE,MAAM,KAAK,GAAG;YAC5B,GAAG,CAAC,QAAQ,EAAE,IAAI,EAAE,YAAY;gBAC9B,qDAAqD,EACvD,CAAC;YACD,OAAO;gBACL,QAAQ,EAAE,EAAE;gBACZ,UAAU,EAAE,EAAE;aACf,CAAC;QACJ,CAAC;QACD,MAAM,IAAI,qBAAc,CACtB,+BAA+B,wBAAwB,CAAC,GAAG,CAAC,EAAE,EAC9D,GAAG,CACJ,CAAC;IACJ,CAAC;AACH,CAAC;AAzCD,sFAyCC;AAED;;;;;;;;GAQG;AACI,KAAK,UAAU,gBAAgB,CACpC,qBAA6B,EAC7B,KAAa,EACb,eAAuB;IAEvB,MAAM,QAAQ,GAAG,eAAe,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/C,IAAI,QAAQ,CAAC,WAAW,EAAE,KAAK,KAAK,EAAE,CAAC;QACrC,MAAM,CAAC,IAAI,CACT,2BAA2B,eAAe,8FAA8F,CACzI,CAAC;QACF,OAAO;IACT,CAAC;IACD,MAAM,UAAU,GAAG,GAAG,IAAA,4BAAqB,EACzC,qBAAqB,CACtB,wDAAwD,eAAe,EAAE,CAAC;IAC3E,MAAM,WAAW,GAAG,GAAG,IAAA,4BAAqB,EAC1C,qBAAqB,CACtB,sDAAsD,eAAe,EAAE,CAAC;IACzE,MAAM,MAAM,GAAG,IAAA,qBAAe,EAAC,KAAK,CAAC,CAAC,OAAO,CAAC;IAE9C,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,uBAAuB,CAC5C,EAAE,GAAG,EAAE,UAAU,EAAE,QAAQ,EAAE,qBAAqB,CAAC,KAAK,CAAC,EAAE,EAC3D,MAAM,CACP,CAAC,KAAK,CAAC,GAAG,EAAE,CACX,uBAAuB,CACrB;YACE,GAAG,EAAE,WAAW;YAChB,QAAQ,EAAE,qBAAqB,CAAC,KAAK,CAAC;SACvC,EACD,MAAM,CACP,CACF,CAAC;QACF,OAAO,IAAA,8BAAgB,EAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACzC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,IAAI,CACT,0CAA0C,eAAe,oEAAoE,EAC7H,GAAG,CACJ,CAAC;IACJ,CAAC;AACH,CAAC;AAxCD,4CAwCC;AAED,SAAS,qBAAqB,CAAC,KAAqC;IAClE,IAAI,MAA0B,CAAC;IAC/B,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,GAAG,IAAA,iBAAW,EAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;SAAM,CAAC;QACN,MAAM;YACJ,kHAAkH;YAClH,KAAK,CAAC,cAAc;gBACpB,IAAA,iBAAW,EAAC,KAAK,CAAC,iBAAiB,CAAC;gBACpC,IAAA,iBAAW,EAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IACrC,CAAC;IAED,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;IAClE,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;;;GAQG;AACI,KAAK,UAAU,kCAAkC,CACtD,qBAA6B,EAC7B,KAAqC,EACrC,OAAkC;IAElC,MAAM,SAAS,GAAG,GAAG,IAAA,4BAAqB,EACxC,qBAAqB,CACtB,8CAA8C,OAAO,CAAC,eAAe,EAAE,CAAC;IAEzE,KAAK,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;IAErE,IAAI,UAAU,GAAG,IAAA,qBAAe,EAAC,KAAK,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC;IAC9D,UAAU,GAAG,KAAK,CAAC,iBAAiB;QAClC,CAAC,CAAC,EAAE,GAAG,UAAU,EAAE,cAAc,EAAE,KAAK,CAAC,iBAAiB,EAAE;QAC5D,CAAC,CAAC,UAAU,CAAC;IAEf,UAAU,GAAG,KAAK,CAAC,cAAc;QAC/B,CAAC,CAAC,EAAE,GAAG,UAAU,EAAE,UAAU,EAAE,KAAK,CAAC,cAAc,EAAE;QACrD,CAAC,CAAC,UAAU,CAAC;IAEf,UAAU,GAAG,KAAK,CAAC,YAAY;QAC7B,CAAC,CAAC,EAAE,GAAG,UAAU,EAAE,iBAAiB,EAAE,KAAK,CAAC,YAAY,EAAE;QAC1D,CAAC,CAAC,UAAU,CAAC;IAEf,OAAO,uBAAuB,CAC5B,EAAE,GAAG,EAAE,SAAS,EAAE,QAAQ,EAAE,qBAAqB,CAAC,KAAK,CAAC,EAAE,EAC1D,UAAU,EACV,OAAO,CACR;SACE,IAAI,CAAC,QAAQ,CAAC,EAAE;QACf,MAAM,WAAW,GAAgB,IAAA,8BAAgB,EAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACjE,OAAO,WAAW,CAAC;IACrB,CAAC,CAAC;SACD,KAAK,CAAC,KAAK,CAAC,EAAE;QACb,CAAC;YACC,MAAM,IAAI,qBAAc,CACtB,+BACE,OAAO,CAAC,eACV,IAAI,wBAAwB,CAAC,KAAK,CAAC,EAAE,EACrC,KAAK,CACN,CAAC;QACJ,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC;AA3CD,gFA2CC;AAED,SAAS,wBAAwB,CAC/B,KAA2C;IAE3C,OAAO,IAAA,qBAAc,EAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,cAAc,CAAC;QAC9D,CAAC,CAAC,IAAI,KAAK,CAAC,QAAS,CAAC,IAAI,CAAC,YAAY,EAAE;QACzC,CAAC,CAAC,EAAE,CAAC;AACT,CAAC;AAED,SAAS,gBAAgB,CACvB,eAAuB;IAMvB,OAAO,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE;QACtB,IAAI,UAAU,GAAG,CAAC,CAAC;QACnB,OAAO,UAAU,CAAC,OAAO,CACvB,KAAK,EAAC,IAAI,EAAC,EAAE;YACX,IAAI,CAAC;gBACH,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;gBAC1C,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;oBACnB,UAAU,EAAE,CAAC;oBACb,0IAA0I;oBAC1I,MAAM,IAAA,gDAAyB,EAAC,IAAA,8BAAgB,EAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;gBACtE,CAAC;gBACD,OAAO,WAAW,CAAC;YACrB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,MAAM,GAAG,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC;gBACvC,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;oBACtC,IAAI,CACF,IAAI,qBAAc,CAChB,mCAAmC,MAAM,EAAE,EAC3C,KAAK,CACN,CACF,CAAC;oBACF,wEAAwE;oBACxE,OAAO,SAAgB,CAAC;gBAC1B,CAAC;gBACD,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC,EACD;YACE,OAAO,EAAE,CAAC;YACV,OAAO,EAAE,GAAG,CAAC,EAAE,CACb,MAAM,CAAC,IAAI,CACT,kCAAkC,eAAe,oCAAoC,GAAG,CAAC,OAAO,EAAE,CACnG;SACJ,CACF,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC;AAQD,KAAK,UAAU,uBAAuB,CACpC,OAAqE,EACrE,OAA4B;IAE5B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;QAC1C,MAAM,IAAI,KAAK,CACb,6DAA6D,OAAO,CAAC,GAAG,4DAA4D,CACrI,CAAC;IACJ,CAAC;IACD,OAAO,sBAAsB,CAAC,OAAO,EAAE,OAAO,CAE7C,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,uBAAuB,CACpC,OAAqE,EACrE,OAA4B,EAC5B,OAAmC;IAEnC,IACE,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,oDAAoD,CAAC,EACxE,CAAC;QACD,MAAM,IAAI,KAAK,CACb,6DAA6D,OAAO,CAAC,GAAG,+DAA+D,CACxI,CAAC;IACJ,CAAC;IACD,OAAO,sBAAsB,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAEtD,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,sBAAsB,CACnC,OAAqE,EACrE,OAA4B,EAC5B,OAAmC;IAMnC,MAAM,EAAE,eAAe,EAAE,KAAK,EAAE,GAAG,OAAO,IAAI,EAAE,CAAC;IAEjD,MAAM,aAAa,GAA0B;QAC3C,GAAG,CAAC,MAAM,IAAA,wBAAW,EAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACnC,MAAM,EAAE,KAAK;QACb,OAAO;KACR,CAAC;IAEF,MAAM,oBAAoB,GAAG,IAAA,uBAAU,GAIpC,CAAC;IACJ,IAAI,eAAe,IAAI,KAAK,EAAE,CAAC;QAC7B,oBAAoB,CAAC,OAAO,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC,CAAC;IAClE,CAAC;IAED,OAAO,IAAA,gCAAqB,EAAC,oBAAoB,EAAE;QACjD,OAAO;QACP,UAAU,EAAE,aAAa;QACzB,EAAE,EAAE,MAAM,CAAC,EAAE,CAAC,eAAK,CAAC,OAAO,CAAC,MAAM,CAAC;KACpC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -4,6 +4,7 @@ exports.getJwtForUser = exports.getJwtForTenant = exports.hasTokens = exports.ge
|
|
|
4
4
|
const util_1 = require("@sap-cloud-sdk/util");
|
|
5
5
|
const jwt_1 = require("../jwt");
|
|
6
6
|
const token_accessor_1 = require("../token-accessor");
|
|
7
|
+
const subdomain_replacer_1 = require("../subdomain-replacer");
|
|
7
8
|
const logger = (0, util_1.createLogger)({
|
|
8
9
|
package: 'connectivity',
|
|
9
10
|
messageContext: 'destination-accessor-service'
|
|
@@ -21,11 +22,10 @@ exports.isSubscriberToken = isSubscriberToken;
|
|
|
21
22
|
* @internal
|
|
22
23
|
*/
|
|
23
24
|
async function getSubscriberToken(options) {
|
|
24
|
-
const isXsuaaJwt = !!options.jwt && (0, jwt_1.isXsuaaToken)((0, jwt_1.
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
};
|
|
25
|
+
const isXsuaaJwt = !!options.jwt && (0, jwt_1.isXsuaaToken)((0, jwt_1.decodeJwt)(options.jwt));
|
|
26
|
+
const userJwt = await retrieveUserToken(options, isXsuaaJwt);
|
|
27
|
+
const serviceJwt = await retrieveServiceToken(options, userJwt?.decoded);
|
|
28
|
+
return { userJwt, serviceJwt };
|
|
29
29
|
}
|
|
30
30
|
exports.getSubscriberToken = getSubscriberToken;
|
|
31
31
|
async function retrieveUserToken(options, isXsuaaJwt) {
|
|
@@ -36,22 +36,27 @@ async function retrieveUserToken(options, isXsuaaJwt) {
|
|
|
36
36
|
return (0, jwt_1.getJwtPair)(options.jwt);
|
|
37
37
|
}
|
|
38
38
|
}
|
|
39
|
-
async function retrieveServiceToken(options,
|
|
40
|
-
const jwt = getJwtForServiceToken(options,
|
|
39
|
+
async function retrieveServiceToken(options, decodedUserJwt) {
|
|
40
|
+
const jwt = getJwtForServiceToken(options.iss, decodedUserJwt);
|
|
41
41
|
if (jwt) {
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
42
|
+
try {
|
|
43
|
+
return (0, jwt_1.getJwtPair)(await (0, token_accessor_1.serviceToken)('destination', {
|
|
44
|
+
...options,
|
|
45
|
+
jwt
|
|
46
|
+
}));
|
|
47
|
+
}
|
|
48
|
+
catch (err) {
|
|
49
|
+
logger.warn(`Failed to fetch subscriber service token for destination. This is only relevant if you are using subscriber destinations. Failure caused by: ${err.message}`);
|
|
50
|
+
}
|
|
46
51
|
}
|
|
47
52
|
}
|
|
48
|
-
function getJwtForServiceToken(
|
|
49
|
-
if (
|
|
53
|
+
function getJwtForServiceToken(iss, decodedUserJwt) {
|
|
54
|
+
if (iss) {
|
|
50
55
|
logger.debug('Using `iss` option instead of a full JWT to fetch a destination. No validation is performed.');
|
|
51
|
-
return {
|
|
56
|
+
return { ext_attr: { zdn: (0, subdomain_replacer_1.getIssuerSubdomain)({ iss }) } };
|
|
52
57
|
}
|
|
53
|
-
if (
|
|
54
|
-
return
|
|
58
|
+
if (decodedUserJwt?.zid || decodedUserJwt?.app_tid) {
|
|
59
|
+
return decodedUserJwt;
|
|
55
60
|
}
|
|
56
61
|
}
|
|
57
62
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-subscriber-token.js","sourceRoot":"","sources":["../../../src/scp-cf/destination/get-subscriber-token.ts"],"names":[],"mappings":";;;AAAA,8CAAmD;
|
|
1
|
+
{"version":3,"file":"get-subscriber-token.js","sourceRoot":"","sources":["../../../src/scp-cf/destination/get-subscriber-token.ts"],"names":[],"mappings":";;;AAAA,8CAAmD;AAEnD,gCAMgB;AAChB,sDAAiD;AACjD,8DAA2D;AAG3D,MAAM,MAAM,GAAG,IAAA,mBAAY,EAAC;IAC1B,OAAO,EAAE,cAAc;IACvB,cAAc,EAAE,8BAA8B;CAC/C,CAAC,CAAC;AAsBH;;;;GAIG;AACH,SAAgB,iBAAiB,CAAC,KAAU;IAC1C,OAAO,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,UAAU,CAAC;AAC3C,CAAC;AAFD,8CAEC;AAED;;GAEG;AACI,KAAK,UAAU,kBAAkB,CACtC,OAA2B;IAE3B,MAAM,UAAU,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,IAAI,IAAA,kBAAY,EAAC,IAAA,eAAS,EAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;IACzE,MAAM,OAAO,GAAG,MAAM,iBAAiB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IAC7D,MAAM,UAAU,GAAG,MAAM,oBAAoB,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAEzE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC;AACjC,CAAC;AARD,gDAQC;AAED,KAAK,UAAU,iBAAiB,CAC9B,OAA2B,EAC3B,UAAmB;IAEnB,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,UAAU,EAAE,CAAC;YAC/B,MAAM,IAAA,eAAS,EAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QACxC,CAAC;QACD,OAAO,IAAA,gBAAU,EAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACjC,CAAC;AACH,CAAC;AAED,KAAK,UAAU,oBAAoB,CACjC,OAA2B,EAC3B,cAAsC;IAEtC,MAAM,GAAG,GAAG,qBAAqB,CAAC,OAAO,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;IAE/D,IAAI,GAAG,EAAE,CAAC;QACR,IAAI,CAAC;YACH,OAAO,IAAA,gBAAU,EACf,MAAM,IAAA,6BAAY,EAAC,aAAa,EAAE;gBAChC,GAAG,OAAO;gBACV,GAAG;aACJ,CAAC,CACH,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,IAAI,CACT,gJAAgJ,GAAG,CAAC,OAAO,EAAE,CAC9J,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,qBAAqB,CAAC,GAAY,EAAE,cAA2B;IACtE,IAAI,GAAG,EAAE,CAAC;QACR,MAAM,CAAC,KAAK,CACV,8FAA8F,CAC/F,CAAC;QAEF,OAAO,EAAE,QAAQ,EAAE,EAAE,GAAG,EAAE,IAAA,uCAAkB,EAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;IAC5D,CAAC;IAED,IAAI,cAAc,EAAE,GAAG,IAAI,cAAc,EAAE,OAAO,EAAE,CAAC;QACnD,OAAO,cAAc,CAAC;IACxB,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,SAAgB,0BAA0B,CACxC,KAAkC;IAElC,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC;QAEtC,MAAM,aAAa,GAAG;YACpB,OAAO,EAAE,OAAO,IAAI,UAAU;YAC9B,UAAU,EAAE,UAAU,IAAI,OAAO;SAClC,CAAC;QAEF,IAAI,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;YAC9B,OAAO,aAAa,CAAC;QACvB,CAAC;IACH,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAC;AAC/E,CAAC;AAjBD,gEAiBC;AAED;;;;GAIG;AACH,SAAS,UAAU,CACjB,KAAkC;IAElC,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE,OAAO,IAAI,KAAK,CAAC,UAAU,CAAC,CAAC;AAChD,CAAC;AAED;;;;;GAKG;AACH,SAAgB,SAAS,CAAC,KAAkC;IAC1D,OAAO,CAAC,CAAC,KAAK,EAAE,OAAO,IAAI,CAAC,CAAC,KAAK,EAAE,UAAU,CAAC;AACjD,CAAC;AAFD,8BAEC;AAED;;;;;;;;GAQG;AACH,SAAgB,eAAe,CAAC,KAAgC;IAC9D,OAAO,KAAK,CAAC,UAAU,CAAC;AAC1B,CAAC;AAFD,0CAEC;AAED;;;;;;;;GAQG;AACH,SAAgB,aAAa,CAAC,KAAgC;IAC5D,OAAO,KAAK,CAAC,OAAO,CAAC;AACvB,CAAC;AAFD,sCAEC"}
|
|
@@ -30,7 +30,7 @@ function shouldExchangeToken(options) {
|
|
|
30
30
|
// iasToXsuaaTokenExchange is optional, token exchange is enabled by default
|
|
31
31
|
return (options.iasToXsuaaTokenExchange !== false &&
|
|
32
32
|
!!options.jwt &&
|
|
33
|
-
!(0, jwt_1.isXsuaaToken)((0, jwt_1.
|
|
33
|
+
!(0, jwt_1.isXsuaaToken)((0, jwt_1.decodeJwt)(options.jwt)));
|
|
34
34
|
}
|
|
35
35
|
exports.shouldExchangeToken = shouldExchangeToken;
|
|
36
36
|
//# sourceMappingURL=identity-service.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"identity-service.js","sourceRoot":"","sources":["../../src/scp-cf/identity-service.ts"],"names":[],"mappings":";;;AAAA,sCAAmD;AAEnD,iEAAyD;AACzD,+
|
|
1
|
+
{"version":3,"file":"identity-service.js","sourceRoot":"","sources":["../../src/scp-cf/identity-service.ts"],"names":[],"mappings":";;;AAAA,sCAAmD;AAEnD,iEAAyD;AACzD,+BAAgD;AAEhD;;;;;GAKG;AACI,KAAK,UAAU,aAAa,CACjC,OAA2B;IAE3B,MAAM,YAAY,GAAG,IAAA,sCAAe,EAAC;QACnC,YAAY,EAAE,CAAC,OAAO,CAAC,qBAAqB;KAC7C,CAAC,CAAC;IACH,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAA,6BAAqB,EAAC,YAAY,EAAE;QAC1D,GAAG,EAAE,OAAO,CAAC,GAAG;KACjB,CAAC,CAAC;IACH,OAAO,KAAK,CAAC,aAAa,EAAE,CAAC;AAC/B,CAAC;AAVD,sCAUC;AAED;;;;;GAKG;AACH,SAAgB,mBAAmB,CAAC,OAA2B;IAC7D,4EAA4E;IAC5E,OAAO,CACL,OAAO,CAAC,uBAAuB,KAAK,KAAK;QACzC,CAAC,CAAC,OAAO,CAAC,GAAG;QACb,CAAC,IAAA,kBAAY,EAAC,IAAA,eAAS,EAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CACtC,CAAC;AACJ,CAAC;AAPD,kDAOC"}
|
package/dist/scp-cf/jwt.d.ts
CHANGED
|
@@ -12,10 +12,17 @@ import { TokenKey } from './xsuaa-service-types';
|
|
|
12
12
|
export declare function userId({ user_id }: JwtPayload): string;
|
|
13
13
|
/**
|
|
14
14
|
* Get the tenant ID of a decoded JWT, based on its `zid` or if not available `app_tid` property.
|
|
15
|
-
* @param
|
|
15
|
+
* @param jwt - Token to read the tenant ID from.
|
|
16
16
|
* @returns The tenant ID, if available.
|
|
17
17
|
*/
|
|
18
|
-
export declare function getTenantId(
|
|
18
|
+
export declare function getTenantId(jwt: JwtPayload | string | undefined): string | undefined;
|
|
19
|
+
/**
|
|
20
|
+
* @internal
|
|
21
|
+
* Retrieve the subdomain from the decoded XSUAA JWT. If the JWT is not in XSUAA format, returns `undefined`.
|
|
22
|
+
* @param jwt - JWT to retrieve the subdomain from.
|
|
23
|
+
* @returns The subdomain, if available.
|
|
24
|
+
*/
|
|
25
|
+
export declare function getSubdomain(jwt: JwtPayload | string | undefined): string | undefined;
|
|
19
26
|
/**
|
|
20
27
|
* @internal
|
|
21
28
|
* Retrieve the audiences of a decoded JWT based on the audiences and scopes in the token.
|
|
@@ -78,11 +85,11 @@ export declare function wrapJwtInHeader(token: string): {
|
|
|
78
85
|
};
|
|
79
86
|
/**
|
|
80
87
|
* Checks if the given JWT was issued by XSUAA based on the `iss` property and the UAA domain of the XSUAA.
|
|
81
|
-
* @param
|
|
88
|
+
* @param decodedJwt - JWT to be checked.
|
|
82
89
|
* @returns Whether the JWT was issued by XSUAA.
|
|
83
90
|
* @internal
|
|
84
91
|
*/
|
|
85
|
-
export declare function isXsuaaToken(
|
|
92
|
+
export declare function isXsuaaToken(decodedJwt: JwtPayload | undefined): boolean;
|
|
86
93
|
/**
|
|
87
94
|
* Object holding a decoded JWT payload received by decoding the encoded string also in this object.
|
|
88
95
|
* @internal
|
package/dist/scp-cf/jwt.js
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getTenantIdFromBinding = exports.decodeOrMakeJwt = exports.isUserToken = exports.getJwtPair = exports.isXsuaaToken = exports.wrapJwtInHeader = exports.verificationKeyCache = exports.verifyJwt = exports.retrieveJwt = exports.decodeJwtComplete = exports.decodeJwt = exports.audiences = exports.getTenantId = exports.userId = void 0;
|
|
3
|
+
exports.getTenantIdFromBinding = exports.decodeOrMakeJwt = exports.isUserToken = exports.getJwtPair = exports.isXsuaaToken = exports.wrapJwtInHeader = exports.verificationKeyCache = exports.verifyJwt = exports.retrieveJwt = exports.decodeJwtComplete = exports.decodeJwt = exports.audiences = exports.getSubdomain = exports.getTenantId = exports.userId = void 0;
|
|
4
4
|
const util_1 = require("@sap-cloud-sdk/util");
|
|
5
5
|
const xssec_1 = require("@sap/xssec");
|
|
6
6
|
const jsonwebtoken_1 = require("jsonwebtoken");
|
|
7
7
|
const cache_1 = require("./cache");
|
|
8
8
|
const environment_accessor_1 = require("./environment-accessor");
|
|
9
|
+
const subdomain_replacer_1 = require("./subdomain-replacer");
|
|
9
10
|
const logger = (0, util_1.createLogger)({
|
|
10
11
|
package: 'connectivity',
|
|
11
12
|
messageContext: 'jwt'
|
|
@@ -24,18 +25,29 @@ function userId({ user_id }) {
|
|
|
24
25
|
return user_id;
|
|
25
26
|
}
|
|
26
27
|
exports.userId = userId;
|
|
27
|
-
/* eslint-disable jsdoc/check-param-names, jsdoc/require-param */
|
|
28
28
|
/**
|
|
29
29
|
* Get the tenant ID of a decoded JWT, based on its `zid` or if not available `app_tid` property.
|
|
30
|
-
* @param
|
|
30
|
+
* @param jwt - Token to read the tenant ID from.
|
|
31
31
|
* @returns The tenant ID, if available.
|
|
32
32
|
*/
|
|
33
|
-
function getTenantId(
|
|
34
|
-
|
|
35
|
-
|
|
33
|
+
function getTenantId(jwt) {
|
|
34
|
+
const decodedJwt = jwt ? decodeJwt(jwt) : {};
|
|
35
|
+
logger.debug(`JWT zid is: ${decodedJwt.zid}, app_tid is: ${decodedJwt.app_tid}.`);
|
|
36
|
+
return decodedJwt.zid || decodedJwt.app_tid || undefined;
|
|
36
37
|
}
|
|
37
38
|
exports.getTenantId = getTenantId;
|
|
38
|
-
|
|
39
|
+
/**
|
|
40
|
+
* @internal
|
|
41
|
+
* Retrieve the subdomain from the decoded XSUAA JWT. If the JWT is not in XSUAA format, returns `undefined`.
|
|
42
|
+
* @param jwt - JWT to retrieve the subdomain from.
|
|
43
|
+
* @returns The subdomain, if available.
|
|
44
|
+
*/
|
|
45
|
+
function getSubdomain(jwt) {
|
|
46
|
+
const decodedJwt = jwt ? decodeJwt(jwt) : {};
|
|
47
|
+
return (decodedJwt?.ext_attr?.zdn ||
|
|
48
|
+
(isXsuaaToken(decodedJwt) ? (0, subdomain_replacer_1.getIssuerSubdomain)(decodedJwt) : undefined));
|
|
49
|
+
}
|
|
50
|
+
exports.getSubdomain = getSubdomain;
|
|
39
51
|
/**
|
|
40
52
|
* @internal
|
|
41
53
|
* Retrieve the audiences of a decoded JWT based on the audiences and scopes in the token.
|
|
@@ -157,12 +169,12 @@ function wrapJwtInHeader(token) {
|
|
|
157
169
|
exports.wrapJwtInHeader = wrapJwtInHeader;
|
|
158
170
|
/**
|
|
159
171
|
* Checks if the given JWT was issued by XSUAA based on the `iss` property and the UAA domain of the XSUAA.
|
|
160
|
-
* @param
|
|
172
|
+
* @param decodedJwt - JWT to be checked.
|
|
161
173
|
* @returns Whether the JWT was issued by XSUAA.
|
|
162
174
|
* @internal
|
|
163
175
|
*/
|
|
164
|
-
function isXsuaaToken(
|
|
165
|
-
return
|
|
176
|
+
function isXsuaaToken(decodedJwt) {
|
|
177
|
+
return decodedJwt?.ext_attr?.enhancer === 'XSUAA';
|
|
166
178
|
}
|
|
167
179
|
exports.isXsuaaToken = isXsuaaToken;
|
|
168
180
|
/**
|
package/dist/scp-cf/jwt.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jwt.js","sourceRoot":"","sources":["../../src/scp-cf/jwt.ts"],"names":[],"mappings":";;;AACA,8CAI6B;AAC7B,sCAAmD;AACnD,+CAAsC;AACtC,mCAAgC;AAChC,iEAAgF;
|
|
1
|
+
{"version":3,"file":"jwt.js","sourceRoot":"","sources":["../../src/scp-cf/jwt.ts"],"names":[],"mappings":"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"}
|
package/dist/scp-cf/tenant.d.ts
CHANGED
|
@@ -1,11 +1,4 @@
|
|
|
1
1
|
import { JwtPayload } from './jsonwebtoken-type';
|
|
2
|
-
/**
|
|
3
|
-
* Get the tenant ID of a decoded JWT, based on its `zid` property or, if not available, the `iss` subdomain.
|
|
4
|
-
* @param token - Token to read the tenant ID from.
|
|
5
|
-
* @returns The tenant ID, if available.
|
|
6
|
-
* @internal
|
|
7
|
-
*/
|
|
8
|
-
export declare function getTenantIdWithFallback(token: string | JwtPayload | undefined): string | undefined;
|
|
9
2
|
/**
|
|
10
3
|
* Compare two decoded JWTs based on their `tenantId`s.
|
|
11
4
|
* @param userTokenPayload - User JWT payload.
|
package/dist/scp-cf/tenant.js
CHANGED
|
@@ -1,19 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.isIdenticalTenant =
|
|
3
|
+
exports.isIdenticalTenant = void 0;
|
|
4
4
|
const jwt_1 = require("./jwt");
|
|
5
|
-
const subdomain_replacer_1 = require("./subdomain-replacer");
|
|
6
|
-
/**
|
|
7
|
-
* Get the tenant ID of a decoded JWT, based on its `zid` property or, if not available, the `iss` subdomain.
|
|
8
|
-
* @param token - Token to read the tenant ID from.
|
|
9
|
-
* @returns The tenant ID, if available.
|
|
10
|
-
* @internal
|
|
11
|
-
*/
|
|
12
|
-
function getTenantIdWithFallback(token) {
|
|
13
|
-
const decodedJwt = token ? (0, jwt_1.decodeJwt)(token) : {};
|
|
14
|
-
return (0, jwt_1.getTenantId)(decodedJwt) || (0, subdomain_replacer_1.getIssuerSubdomain)(decodedJwt) || undefined;
|
|
15
|
-
}
|
|
16
|
-
exports.getTenantIdWithFallback = getTenantIdWithFallback;
|
|
17
5
|
/**
|
|
18
6
|
* Compare two decoded JWTs based on their `tenantId`s.
|
|
19
7
|
* @param userTokenPayload - User JWT payload.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tenant.js","sourceRoot":"","sources":["../../src/scp-cf/tenant.ts"],"names":[],"mappings":";;;AACA,+
|
|
1
|
+
{"version":3,"file":"tenant.js","sourceRoot":"","sources":["../../src/scp-cf/tenant.ts"],"names":[],"mappings":";;;AACA,+BAAoC;AAEpC;;;;;;GAMG;AACH,SAAgB,iBAAiB,CAC/B,gBAA4B,EAC5B,oBAAgC;IAEhC,OAAO,IAAA,iBAAW,EAAC,gBAAgB,CAAC,KAAK,IAAA,iBAAW,EAAC,oBAAoB,CAAC,CAAC;AAC7E,CAAC;AALD,8CAKC"}
|
|
@@ -6,7 +6,6 @@ const jwt_1 = require("./jwt");
|
|
|
6
6
|
const client_credentials_token_cache_1 = require("./client-credentials-token-cache");
|
|
7
7
|
const environment_accessor_1 = require("./environment-accessor");
|
|
8
8
|
const xsuaa_service_1 = require("./xsuaa-service");
|
|
9
|
-
const tenant_1 = require("./tenant");
|
|
10
9
|
/**
|
|
11
10
|
* Returns an access token that can be used to call the given service. The token is fetched via a client credentials grant with the credentials of the given service.
|
|
12
11
|
* If multiple instances of the provided service exist, the first instance will be selected.
|
|
@@ -26,11 +25,11 @@ async function serviceToken(service, options) {
|
|
|
26
25
|
};
|
|
27
26
|
const serviceBinding = (0, environment_accessor_1.resolveServiceBinding)(service);
|
|
28
27
|
const serviceCredentials = serviceBinding.credentials;
|
|
29
|
-
const
|
|
30
|
-
? (0,
|
|
28
|
+
const tenantForCaching = options?.jwt
|
|
29
|
+
? (0, jwt_1.getTenantId)(options.jwt) || (0, jwt_1.getSubdomain)(options.jwt)
|
|
31
30
|
: (0, jwt_1.getTenantIdFromBinding)();
|
|
32
31
|
if (opts.useCache) {
|
|
33
|
-
const cachedToken = client_credentials_token_cache_1.clientCredentialsTokenCache.getToken(
|
|
32
|
+
const cachedToken = client_credentials_token_cache_1.clientCredentialsTokenCache.getToken(tenantForCaching, serviceCredentials.clientid);
|
|
34
33
|
if (cachedToken) {
|
|
35
34
|
return cachedToken.access_token;
|
|
36
35
|
}
|
|
@@ -38,7 +37,7 @@ async function serviceToken(service, options) {
|
|
|
38
37
|
try {
|
|
39
38
|
const token = await (0, xsuaa_service_1.getClientCredentialsToken)(serviceBinding, options?.jwt);
|
|
40
39
|
if (opts.useCache) {
|
|
41
|
-
client_credentials_token_cache_1.clientCredentialsTokenCache.cacheToken(
|
|
40
|
+
client_credentials_token_cache_1.clientCredentialsTokenCache.cacheToken(tenantForCaching, serviceCredentials.clientid, token);
|
|
42
41
|
}
|
|
43
42
|
return token.access_token;
|
|
44
43
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"token-accessor.js","sourceRoot":"","sources":["../../src/scp-cf/token-accessor.ts"],"names":[],"mappings":";;;AAAA,8CAAqD;AAErD,+
|
|
1
|
+
{"version":3,"file":"token-accessor.js","sourceRoot":"","sources":["../../src/scp-cf/token-accessor.ts"],"names":[],"mappings":";;;AAAA,8CAAqD;AAErD,+BAA0E;AAE1E,qFAA+E;AAC/E,iEAA+D;AAK/D,mDAA0E;AAE1E;;;;;;;;;;GAUG;AACI,KAAK,UAAU,YAAY,CAChC,OAAyB,EACzB,OAIC;IAED,MAAM,IAAI,GAAG;QACX,QAAQ,EAAE,IAAI;QACd,oBAAoB,EAAE,IAAI;QAC1B,GAAG,OAAO;KACX,CAAC;IAEF,MAAM,cAAc,GAAG,IAAA,4CAAqB,EAAC,OAAO,CAAC,CAAC;IACtD,MAAM,kBAAkB,GAAG,cAAc,CAAC,WAAW,CAAC;IACtD,MAAM,gBAAgB,GAAG,OAAO,EAAE,GAAG;QACnC,CAAC,CAAC,IAAA,iBAAW,EAAC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAA,kBAAY,EAAC,OAAO,CAAC,GAAG,CAAC;QACvD,CAAC,CAAC,IAAA,4BAAsB,GAAE,CAAC;IAE7B,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClB,MAAM,WAAW,GAAG,4DAA2B,CAAC,QAAQ,CACtD,gBAAgB,EAChB,kBAAkB,CAAC,QAAQ,CAC5B,CAAC;QACF,IAAI,WAAW,EAAE,CAAC;YAChB,OAAO,WAAW,CAAC,YAAY,CAAC;QAClC,CAAC;IACH,CAAC;IAED,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,MAAM,IAAA,yCAAyB,EAAC,cAAc,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;QAE5E,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,4DAA2B,CAAC,UAAU,CACpC,gBAAgB,EAChB,kBAAkB,CAAC,QAAQ,EAC3B,KAAK,CACN,CAAC;QACJ,CAAC;QAED,OAAO,KAAK,CAAC,YAAY,CAAC;IAC5B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,qBAAc,CACtB,iEAAiE,cAAc,CAAC,KAAK,IAAI,EACzF,GAAG,CACJ,CAAC;IACJ,CAAC;AACH,CAAC;AAhDD,oCAgDC;AAED;;;;;;;;GAQG;AACI,KAAK,UAAU,cAAc,CAClC,GAAW,EACX,OAAyB;IAEzB,MAAM,eAAe,GAAG,IAAA,4CAAqB,EAAC,OAAO,CAAC,CAAC;IACvD,OAAO,IAAA,4BAAY,EAAC,eAAe,EAAE,GAAG,CAAC,CAAC;AAC5C,CAAC;AAND,wCAMC"}
|
|
@@ -4,10 +4,10 @@ import { ClientCredentialsResponse } from './xsuaa-service-types';
|
|
|
4
4
|
/**
|
|
5
5
|
* Make a client credentials request against the XSUAA service.
|
|
6
6
|
* @param service - Service as it is defined in the environment variable.
|
|
7
|
-
* @param
|
|
7
|
+
* @param jwt - User JWT or object containing the `iss` property.
|
|
8
8
|
* @returns Client credentials token.
|
|
9
9
|
*/
|
|
10
|
-
export declare function getClientCredentialsToken(service: string | Service,
|
|
10
|
+
export declare function getClientCredentialsToken(service: string | Service, jwt?: string | JwtPayload): Promise<ClientCredentialsResponse>;
|
|
11
11
|
/**
|
|
12
12
|
* Make a user token request against the XSUAA service.
|
|
13
13
|
* @param service - Service as it is defined in the environment variable.
|
|
@@ -4,19 +4,18 @@ exports.getUserToken = exports.getClientCredentialsToken = void 0;
|
|
|
4
4
|
const internal_1 = require("@sap-cloud-sdk/resilience/internal");
|
|
5
5
|
const resilience_1 = require("@sap-cloud-sdk/resilience");
|
|
6
6
|
const environment_accessor_1 = require("./environment-accessor");
|
|
7
|
-
const subdomain_replacer_1 = require("./subdomain-replacer");
|
|
8
7
|
const jwt_1 = require("./jwt");
|
|
9
8
|
/**
|
|
10
9
|
* Make a client credentials request against the XSUAA service.
|
|
11
10
|
* @param service - Service as it is defined in the environment variable.
|
|
12
|
-
* @param
|
|
11
|
+
* @param jwt - User JWT or object containing the `iss` property.
|
|
13
12
|
* @returns Client credentials token.
|
|
14
13
|
*/
|
|
15
|
-
async function getClientCredentialsToken(service,
|
|
16
|
-
const
|
|
14
|
+
async function getClientCredentialsToken(service, jwt) {
|
|
15
|
+
const decodedJwt = jwt ? (0, jwt_1.decodeJwt)(jwt) : {};
|
|
17
16
|
const fnArgument = {
|
|
18
|
-
subdomain: (0,
|
|
19
|
-
zoneId: (0, jwt_1.getTenantId)(
|
|
17
|
+
subdomain: (0, jwt_1.getSubdomain)(decodedJwt),
|
|
18
|
+
zoneId: (0, jwt_1.getTenantId)(decodedJwt),
|
|
20
19
|
serviceCredentials: (0, environment_accessor_1.resolveServiceBinding)(service).credentials
|
|
21
20
|
};
|
|
22
21
|
const xssecPromise = function (arg) {
|
|
@@ -25,7 +24,8 @@ async function getClientCredentialsToken(service, userJwt) {
|
|
|
25
24
|
});
|
|
26
25
|
return xsuaaService.fetchClientCredentialsToken({
|
|
27
26
|
// tenant is the subdomain, not tenant ID
|
|
28
|
-
tenant: arg.subdomain
|
|
27
|
+
tenant: arg.zoneId ? undefined : arg.subdomain,
|
|
28
|
+
zid: arg.zoneId
|
|
29
29
|
});
|
|
30
30
|
};
|
|
31
31
|
return (0, internal_1.executeWithMiddleware)((0, resilience_1.resilience)(), {
|
|
@@ -47,10 +47,10 @@ exports.getClientCredentialsToken = getClientCredentialsToken;
|
|
|
47
47
|
* @returns User token.
|
|
48
48
|
*/
|
|
49
49
|
function getUserToken(service, userJwt) {
|
|
50
|
-
const
|
|
50
|
+
const decodedUserJwt = (0, jwt_1.decodeJwt)(userJwt);
|
|
51
51
|
const fnArgument = {
|
|
52
|
-
subdomain: (0,
|
|
53
|
-
zoneId: (0, jwt_1.getTenantId)(
|
|
52
|
+
subdomain: (0, jwt_1.getSubdomain)(decodedUserJwt),
|
|
53
|
+
zoneId: (0, jwt_1.getTenantId)(decodedUserJwt),
|
|
54
54
|
serviceCredentials: service.credentials,
|
|
55
55
|
userJwt
|
|
56
56
|
};
|
|
@@ -61,7 +61,8 @@ function getUserToken(service, userJwt) {
|
|
|
61
61
|
return xsuaaService
|
|
62
62
|
.fetchJwtBearerToken(arg.userJwt, {
|
|
63
63
|
// tenant is the subdomain, not tenant ID
|
|
64
|
-
tenant: arg.subdomain
|
|
64
|
+
tenant: arg.zoneId ? undefined : arg.subdomain,
|
|
65
|
+
zid: arg.zoneId
|
|
65
66
|
})
|
|
66
67
|
.then(token => token.access_token);
|
|
67
68
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"xsuaa-service.js","sourceRoot":"","sources":["../../src/scp-cf/xsuaa-service.ts"],"names":[],"mappings":";;;AAAA,iEAA2E;AAC3E,0DAA0E;AAO1E,iEAAgF;AAChF
|
|
1
|
+
{"version":3,"file":"xsuaa-service.js","sourceRoot":"","sources":["../../src/scp-cf/xsuaa-service.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sap-cloud-sdk/connectivity",
|
|
3
|
-
"version": "3.17.0",
|
|
3
|
+
"version": "3.17.1-20240802013802.0",
|
|
4
4
|
"description": "SAP Cloud SDK for JavaScript connectivity",
|
|
5
5
|
"homepage": "https://sap.github.io/cloud-sdk/docs/js/overview",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -37,8 +37,8 @@
|
|
|
37
37
|
"readme": "ts-node ../../scripts/replace-common-readme.ts"
|
|
38
38
|
},
|
|
39
39
|
"dependencies": {
|
|
40
|
-
"@sap-cloud-sdk/resilience": "^3.17.0",
|
|
41
|
-
"@sap-cloud-sdk/util": "^3.17.0",
|
|
40
|
+
"@sap-cloud-sdk/resilience": "^3.17.1-20240802013802.0",
|
|
41
|
+
"@sap-cloud-sdk/util": "^3.17.1-20240802013802.0",
|
|
42
42
|
"@sap/xsenv": "^5.2.0",
|
|
43
43
|
"@sap/xssec": "^4.2.1",
|
|
44
44
|
"async-retry": "^1.3.3",
|