@sap-cloud-sdk/connectivity 3.0.3-20230327075726.0 → 3.1.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/authorization-header.d.ts +0 -11
- package/dist/scp-cf/authorization-header.js +9 -9
- package/dist/scp-cf/authorization-header.js.map +1 -1
- package/dist/scp-cf/connectivity-service.d.ts +3 -3
- package/dist/scp-cf/connectivity-service.js +6 -6
- package/dist/scp-cf/connectivity-service.js.map +1 -1
- package/dist/scp-cf/destination/destination-accessor.js +4 -3
- package/dist/scp-cf/destination/destination-accessor.js.map +1 -1
- package/dist/scp-cf/destination/destination-cache.d.ts +6 -5
- package/dist/scp-cf/destination/destination-cache.js +40 -12
- package/dist/scp-cf/destination/destination-cache.js.map +1 -1
- package/dist/scp-cf/destination/destination-from-service.d.ts +3 -46
- package/dist/scp-cf/destination/destination-from-service.js +26 -81
- package/dist/scp-cf/destination/destination-from-service.js.map +1 -1
- package/dist/scp-cf/destination/get-provider-token.d.ts +6 -0
- package/dist/scp-cf/destination/get-provider-token.js +16 -0
- package/dist/scp-cf/destination/get-provider-token.js.map +1 -0
- package/dist/scp-cf/destination/get-subscriber-token.d.ts +63 -0
- package/dist/scp-cf/destination/get-subscriber-token.js +120 -0
- package/dist/scp-cf/destination/get-subscriber-token.js.map +1 -0
- package/dist/scp-cf/destination/index.d.ts +2 -0
- package/dist/scp-cf/destination/index.js +2 -0
- package/dist/scp-cf/destination/index.js.map +1 -1
- package/dist/scp-cf/identity-service.js +1 -1
- package/dist/scp-cf/jwt.js +2 -4
- package/dist/scp-cf/jwt.js.map +1 -1
- package/package.json +5 -5
|
@@ -32,17 +32,6 @@ interface AuthenticationHeaders {
|
|
|
32
32
|
'Proxy-Authorization'?: string;
|
|
33
33
|
'SAP-Connectivity-Authentication'?: string;
|
|
34
34
|
}
|
|
35
|
-
interface AuthenticationHeaderCloud {
|
|
36
|
-
authorization: string;
|
|
37
|
-
}
|
|
38
|
-
interface AuthenticationHeaderOnPrem {
|
|
39
|
-
'SAP-Connectivity-Authentication': string;
|
|
40
|
-
}
|
|
41
|
-
interface AuthenticationHeaders {
|
|
42
|
-
authorization?: string;
|
|
43
|
-
'Proxy-Authorization'?: string;
|
|
44
|
-
'SAP-Connectivity-Authentication'?: string;
|
|
45
|
-
}
|
|
46
35
|
/**
|
|
47
36
|
* @param destination - Destination from which headers are build
|
|
48
37
|
* @param customAuthHeader - Additional custom headers
|
|
@@ -82,20 +82,13 @@ function headerForPrincipalPropagation(destination) {
|
|
|
82
82
|
'SAP-Connectivity-Authentication': principalPropagationHeader
|
|
83
83
|
};
|
|
84
84
|
}
|
|
85
|
-
function
|
|
85
|
+
function getProxyRelatedAuthHeaders(destination) {
|
|
86
|
+
// The connectivity service will raise an exception if it can not obtain the 'Proxy-Authorization' and the destination lookup will fail early
|
|
86
87
|
const authHeader = destination?.proxyConfiguration?.headers?.['Proxy-Authorization'];
|
|
87
88
|
if (authHeader) {
|
|
88
89
|
return { 'Proxy-Authorization': authHeader };
|
|
89
90
|
}
|
|
90
91
|
}
|
|
91
|
-
function getProxyRelatedAuthHeaders(destination) {
|
|
92
|
-
if (destination.proxyType === 'OnPremise' &&
|
|
93
|
-
destination.authentication === 'NoAuthentication') {
|
|
94
|
-
throw Error('OnPremise connections are not possible with NoAuthentication. Please select a supported authentication method e.g. PrincipalPropagation or BasicAuthentication.');
|
|
95
|
-
}
|
|
96
|
-
// The connectivity service will raise an exception if it can not obtain the 'Proxy-Authorization' and the destination lookup will fail early
|
|
97
|
-
return headerForProxy(destination);
|
|
98
|
-
}
|
|
99
92
|
async function getAuthenticationRelatedHeaders(destination) {
|
|
100
93
|
const destinationAuthHeaders = getAuthHeader(destination.authentication, destination.headers);
|
|
101
94
|
logger.debug(`Getting authentication related headers for authentication type: ${destination.authentication}`);
|
|
@@ -109,6 +102,13 @@ async function getAuthenticationRelatedHeaders(destination) {
|
|
|
109
102
|
logger.warn('No authentication type is specified on the destination! Assuming "NoAuthentication".');
|
|
110
103
|
return;
|
|
111
104
|
case 'NoAuthentication':
|
|
105
|
+
try {
|
|
106
|
+
return headerForPrincipalPropagation(destination);
|
|
107
|
+
}
|
|
108
|
+
catch (e) {
|
|
109
|
+
logger.debug('No principal propagation header found.');
|
|
110
|
+
return;
|
|
111
|
+
}
|
|
112
112
|
case 'ClientCertificateAuthentication':
|
|
113
113
|
return;
|
|
114
114
|
case 'SAMLAssertion':
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authorization-header.js","sourceRoot":"","sources":["../../src/scp-cf/authorization-header.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"authorization-header.js","sourceRoot":"","sources":["../../src/scp-cf/authorization-header.ts"],"names":[],"mappings":";;;AAAA,8CAM6B;AAM7B,2DAAgE;AAEhE,MAAM,MAAM,GAAG,IAAA,mBAAY,EAAC;IAC1B,OAAO,EAAE,cAAc;IACvB,cAAc,EAAE,sBAAsB;CACvC,CAAC,CAAC;AAEH;;;;;;GAMG;AACH,SAAgB,aAAa,CAC3B,kBAAkD,EAClD,aAAmC;IAEnC,IAAI,kBAAkB,KAAK,sBAAsB,EAAE;QACjD,MAAM,0BAA0B,GAAG,IAAA,0BAAmB,EACpD,aAAa,EACb,iCAAiC,CAClC,CAAC;QACF,IAAI,0BAA0B,EAAE;YAC9B,OAAO,EAAE,iCAAiC,EAAE,0BAA0B,EAAE,CAAC;SAC1E;KACF;IACD,MAAM,mBAAmB,GAAG,IAAA,0BAAmB,EAC7C,aAAa,EACb,eAAe,CAChB,CAAC;IACF,IAAI,mBAAmB,EAAE;QACvB,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,CAAC;KAC/C;AACH,CAAC;AApBD,sCAoBC;AAED;;;;;GAKG;AACI,KAAK,UAAU,cAAc,CAClC,WAAwB,EACxB,aAAmC;IAEnC,MAAM,gBAAgB,GAAG,aAAa,CACpC,WAAW,CAAC,cAAc,EAC1B,aAAa,CACd,CAAC;IAEF,OAAO,yBAAyB,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC;AAClE,CAAC;AAVD,wCAUC;AAED,SAAS,qBAAqB,CAC5B,aAAqB;IAErB,OAAO,EAAE,aAAa,EAAE,CAAC;AAC3B,CAAC;AACD,SAAS,gBAAgB,CACvB,kBAAsC,EACtC,UAA0C;IAE1C,IAAI,CAAC,UAAU,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE;QACrC,MAAM,KAAK,CACT,8BAA8B,kBAAkB,sEAAsE,CACvH,CAAC;KACH;IACD,MAAM,YAAY,GAAG,UAAU,CAAC,MAAM,CACpC,CAAC,KAA2B,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,CAC9C,CAAC;IAEF,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE;QACxB,MAAM,KAAK,CACT;YACE,6HAA6H;YAC7H,0BAA0B;YAC1B,GAAG,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC;SACxC,CAAC,IAAI,CAAC,cAAO,CAAC,CAChB,CAAC;KACH;IACD,MAAM,SAAS,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;IAClC,wHAAwH;IACxH,OAAO,qBAAqB,CAAC,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;AAC5D,CAAC;AAED,SAAS,8BAA8B,CACrC,WAAwB;IAExB,IAAI,IAAA,gBAAS,EAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,IAAA,gBAAS,EAAC,WAAW,CAAC,QAAQ,CAAC,EAAE;QACtE,MAAM,KAAK,CACT,8FAA8F,CAC/F,CAAC;KACH;IAED,OAAO,qBAAqB,CAC1B,WAAW,CAAC,WAAW,CAAC,QAAQ,EAAE,WAAW,CAAC,QAAQ,CAAC,CACxD,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,SAAgB,WAAW,CAAC,QAAgB,EAAE,QAAgB;IAC5D,OAAO,QAAQ,GAAG,IAAA,mBAAY,EAAC,GAAG,QAAQ,IAAI,QAAQ,EAAE,CAAC,CAAC;AAC5D,CAAC;AAFD,kCAEC;AAED,SAAS,6BAA6B,CACpC,WAAwB;IAExB,MAAM,0BAA0B,GAC9B,WAAW,EAAE,kBAAkB,EAAE,OAAO,EAAE,CACxC,iCAAiC,CAClC,CAAC;IACJ,IAAI,CAAC,0BAA0B,EAAE;QAC/B,MAAM,KAAK,CACT,4IAA4I,CAC7I,CAAC;KACH;IACD,OAAO;QACL,iCAAiC,EAAE,0BAA0B;KAC9D,CAAC;AACJ,CAAC;AAiBD,SAAS,0BAA0B,CACjC,WAAwB;IAExB,6IAA6I;IAC7I,MAAM,UAAU,GACd,WAAW,EAAE,kBAAkB,EAAE,OAAO,EAAE,CAAC,qBAAqB,CAAC,CAAC;IACpE,IAAI,UAAU,EAAE;QACd,OAAO,EAAE,qBAAqB,EAAE,UAAU,EAAE,CAAC;KAC9C;AACH,CAAC;AAED,KAAK,UAAU,+BAA+B,CAC5C,WAAwB;IAExB,MAAM,sBAAsB,GAAG,aAAa,CAC1C,WAAW,CAAC,cAAc,EAC1B,WAAW,CAAC,OAAO,CACpB,CAAC;IAEF,MAAM,CAAC,KAAK,CACV,mEAAmE,WAAW,CAAC,cAAc,EAAE,CAChG,CAAC;IAEF,IAAI,sBAAsB,EAAE;QAC1B,MAAM,CAAC,KAAK,CAAC,wDAAwD,CAAC,CAAC;QACvE,OAAO,sBAAsB,CAAC;KAC/B;IAED,QAAQ,WAAW,CAAC,cAAc,EAAE;QAClC,KAAK,IAAI,CAAC;QACV,KAAK,SAAS;YACZ,MAAM,CAAC,IAAI,CACT,sFAAsF,CACvF,CAAC;YACF,OAAO;QACT,KAAK,kBAAkB;YACrB,IAAI;gBACF,OAAO,6BAA6B,CAAC,WAAW,CAAC,CAAC;aACnD;YAAC,OAAO,CAAC,EAAE;gBACV,MAAM,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC;gBACvD,OAAO;aACR;QACH,KAAK,iCAAiC;YACpC,OAAO;QACT,KAAK,eAAe,CAAC;QACrB,KAAK,2BAA2B,CAAC;QACjC,KAAK,yBAAyB,CAAC;QAC/B,KAAK,iBAAiB,CAAC;QACvB,KAAK,yBAAyB,CAAC;QAC/B,KAAK,gBAAgB,CAAC;QACtB,KAAK,oBAAoB;YACvB,IAAI,WAAW,CAAC,cAAc,KAAK,eAAe,EAAE;gBAClD,MAAM,CAAC,IAAI,CACT,qNAAqN,CACtN,CAAC;aACH;YACD,OAAO,gBAAgB,CACrB,WAAW,CAAC,cAAc,EAC1B,WAAW,CAAC,UAAU,CACvB,CAAC;QACJ,KAAK,qBAAqB;YACxB,OAAO,8BAA8B,CAAC,WAAW,CAAC,CAAC;QACrD,KAAK,sBAAsB;YACzB,OAAO,6BAA6B,CAAC,WAAW,CAAC,CAAC;QACpD;YACE,MAAM,KAAK,CACT,yBAAyB,WAAW,CAAC,cAAc,uEAAuE,CAC3H,CAAC;KACL;AACH,CAAC;AAED;;;;;GAKG;AACI,KAAK,UAAU,yBAAyB,CAC7C,WAAwB,EACxB,gBAAyE;IAEzE,MAAM,oBAAoB,GAAG,IAAA,iCAAmB,EAAC,WAAW,CAAC,CAAC;IAE9D,IAAI,gBAAgB,IAAI,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,MAAM,EAAE;QAC5D,OAAO;YACL,GAAG,gBAAgB;YACnB,GAAG,0BAA0B,CAAC,oBAAoB,CAAC;SACpD,CAAC;KACH;IAED,OAAO;QACL,GAAG,CAAC,MAAM,+BAA+B,CAAC,oBAAoB,CAAC,CAAC;QAChE,GAAG,0BAA0B,CAAC,oBAAoB,CAAC;KACpD,CAAC;AACJ,CAAC;AAjBD,8DAiBC"}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { Protocol } from './protocol';
|
|
2
2
|
import { ProxyConfiguration } from './connectivity-service-types';
|
|
3
3
|
import { Destination } from './destination/destination-service-types';
|
|
4
|
-
import {
|
|
4
|
+
import { SubscriberToken } from './destination';
|
|
5
5
|
/**
|
|
6
6
|
* @internal
|
|
7
7
|
* @param destination - Destination which is extended
|
|
8
|
-
* @param
|
|
8
|
+
* @param subscriberToken - The user and service token
|
|
9
9
|
* @returns Destination containing the proxy config
|
|
10
10
|
*/
|
|
11
|
-
export declare function addProxyConfigurationOnPrem(destination: Destination,
|
|
11
|
+
export declare function addProxyConfigurationOnPrem(destination: Destination, subscriberToken?: Required<SubscriberToken>): Promise<Destination>;
|
|
12
12
|
interface HostAndPort {
|
|
13
13
|
host: string;
|
|
14
14
|
port: number;
|
|
@@ -11,10 +11,10 @@ const logger = (0, util_1.createLogger)({
|
|
|
11
11
|
/**
|
|
12
12
|
* @internal
|
|
13
13
|
* @param destination - Destination which is extended
|
|
14
|
-
* @param
|
|
14
|
+
* @param subscriberToken - The user and service token
|
|
15
15
|
* @returns Destination containing the proxy config
|
|
16
16
|
*/
|
|
17
|
-
async function addProxyConfigurationOnPrem(destination,
|
|
17
|
+
async function addProxyConfigurationOnPrem(destination, subscriberToken) {
|
|
18
18
|
if (destination.type === 'MAIL') {
|
|
19
19
|
return {
|
|
20
20
|
...destination,
|
|
@@ -24,7 +24,7 @@ async function addProxyConfigurationOnPrem(destination, jwt) {
|
|
|
24
24
|
const proxyConfiguration = {
|
|
25
25
|
...httpProxyHostAndPort(),
|
|
26
26
|
headers: {
|
|
27
|
-
...(await proxyHeaders(destination.authentication,
|
|
27
|
+
...(await proxyHeaders(destination.authentication, subscriberToken))
|
|
28
28
|
}
|
|
29
29
|
};
|
|
30
30
|
return { ...destination, proxyConfiguration };
|
|
@@ -69,9 +69,9 @@ function readConnectivityServiceBinding() {
|
|
|
69
69
|
}
|
|
70
70
|
return serviceBindings[0];
|
|
71
71
|
}
|
|
72
|
-
async function proxyHeaders(authenticationType,
|
|
73
|
-
const proxyAuthHeader = await proxyAuthorizationHeader(
|
|
74
|
-
const sapConnectivityHeader = sapConnectivityAuthenticationHeader(authenticationType,
|
|
72
|
+
async function proxyHeaders(authenticationType, subscriberToken) {
|
|
73
|
+
const proxyAuthHeader = await proxyAuthorizationHeader(subscriberToken?.serviceJwt.encoded);
|
|
74
|
+
const sapConnectivityHeader = sapConnectivityAuthenticationHeader(authenticationType, subscriberToken?.userJwt.encoded);
|
|
75
75
|
return {
|
|
76
76
|
...proxyAuthHeader,
|
|
77
77
|
...sapConnectivityHeader
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connectivity-service.js","sourceRoot":"","sources":["../../src/scp-cf/connectivity-service.ts"],"names":[],"mappings":";;;AAAA,8CAAmE;AAUnE,iEAAwD;AAExD,qDAAgD;AAGhD,MAAM,MAAM,GAAG,IAAA,mBAAY,EAAC;IAC1B,OAAO,EAAE,cAAc;IACvB,cAAc,EAAE,sBAAsB;CACvC,CAAC,CAAC;AAEH;;;;;GAKG;AACI,KAAK,UAAU,2BAA2B,CAC/C,WAAwB,EACxB,
|
|
1
|
+
{"version":3,"file":"connectivity-service.js","sourceRoot":"","sources":["../../src/scp-cf/connectivity-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,6 +11,8 @@ const destination_from_service_1 = require("./destination-from-service");
|
|
|
11
11
|
const destination_accessor_types_1 = require("./destination-accessor-types");
|
|
12
12
|
const destination_from_registration_1 = require("./destination-from-registration");
|
|
13
13
|
const destination_service_1 = require("./destination-service");
|
|
14
|
+
const get_subscriber_token_1 = require("./get-subscriber-token");
|
|
15
|
+
const get_provider_token_1 = require("./get-provider-token");
|
|
14
16
|
const logger = (0, util_1.createLogger)({
|
|
15
17
|
package: 'connectivity',
|
|
16
18
|
messageContext: 'destination-accessor'
|
|
@@ -92,9 +94,8 @@ async function getAllDestinationsFromDestinationService(options = {}) {
|
|
|
92
94
|
if ((0, identity_service_1.isTokenExchangeEnabled)(options)) {
|
|
93
95
|
options.jwt = await (0, identity_service_1.exchangeToken)(options);
|
|
94
96
|
}
|
|
95
|
-
const token = (await
|
|
96
|
-
|
|
97
|
-
(await destination_from_service_1.DestinationFromServiceRetriever.getProviderServiceToken(options));
|
|
97
|
+
const token = (await (0, get_subscriber_token_1.getSubscriberToken)(options))?.serviceJwt ||
|
|
98
|
+
(await (0, get_provider_token_1.getProviderServiceToken)(options));
|
|
98
99
|
const destinationServiceUri = (0, destination_from_service_1.getDestinationServiceCredentials)().uri;
|
|
99
100
|
const accountName = (0, subdomain_replacer_1.parseSubdomain)(token.decoded.iss);
|
|
100
101
|
logger.debug(`Retrieving all destinations for account: "${accountName}" 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,0DAA4E;AAC5E,8DAAuD;AACvD,+CAIuB;AAEvB,iEAA0E;AAC1E,mEAGiC;AACjC,
|
|
1
|
+
{"version":3,"file":"destination-accessor.js","sourceRoot":"","sources":["../../../src/scp-cf/destination/destination-accessor.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,7 @@ import { Cache, CacheEntry } from '../cache';
|
|
|
2
2
|
import { JwtPayload } from '../jsonwebtoken-type';
|
|
3
3
|
import { Destination } from './destination-service-types';
|
|
4
4
|
import { DestinationsByType } from './destination-accessor-types';
|
|
5
|
+
import { SubscriberToken } from './get-subscriber-token';
|
|
5
6
|
/**
|
|
6
7
|
* Represents the isolation strategy in the destination cache.
|
|
7
8
|
* The available strategies are isolation by tenant or isolation by tenant and user.
|
|
@@ -70,15 +71,15 @@ export interface DestinationCacheType {
|
|
|
70
71
|
/**
|
|
71
72
|
* @internal
|
|
72
73
|
*/
|
|
73
|
-
retrieveDestinationFromCache: (
|
|
74
|
+
retrieveDestinationFromCache: (token: Required<SubscriberToken> | JwtPayload, name: string, isolation: IsolationStrategy) => Promise<Destination | undefined>;
|
|
74
75
|
/**
|
|
75
76
|
* @internal
|
|
76
77
|
*/
|
|
77
|
-
cacheRetrievedDestination: (
|
|
78
|
+
cacheRetrievedDestination: (token: Required<SubscriberToken> | JwtPayload, destination: Destination, isolation: IsolationStrategy) => Promise<void>;
|
|
78
79
|
/**
|
|
79
80
|
* @internal
|
|
80
81
|
*/
|
|
81
|
-
cacheRetrievedDestinations: (
|
|
82
|
+
cacheRetrievedDestinations: (token: Required<SubscriberToken> | JwtPayload, retrievedDestinations: DestinationsByType, isolation: IsolationStrategy) => Promise<void>;
|
|
82
83
|
/**
|
|
83
84
|
* @internal
|
|
84
85
|
*/
|
|
@@ -96,7 +97,7 @@ export interface DestinationCacheType {
|
|
|
96
97
|
*/
|
|
97
98
|
export declare const DestinationCache: (cache?: DestinationCacheInterface) => DestinationCacheType;
|
|
98
99
|
/**
|
|
99
|
-
* Calculates a cache key based on the
|
|
100
|
+
* Calculates a cache key based on the JWT and destination name for the given isolation strategy.
|
|
100
101
|
* Cache keys for strategies are non-overlapping, i.e. using a cache key for strategy {@link 'tenant'}
|
|
101
102
|
* will not result in a cache hit for a destination that has been cached with strategy {@link 'tenant-user'}.
|
|
102
103
|
* @param decodedJwt - The decoded JWT of the current request.
|
|
@@ -105,7 +106,7 @@ export declare const DestinationCache: (cache?: DestinationCacheInterface) => De
|
|
|
105
106
|
* @returns The cache key.
|
|
106
107
|
* @internal
|
|
107
108
|
*/
|
|
108
|
-
export declare function getDestinationCacheKey(
|
|
109
|
+
export declare function getDestinationCacheKey(token: SubscriberToken | JwtPayload, destinationName: string, isolationStrategy?: IsolationStrategy): string | undefined;
|
|
109
110
|
/**
|
|
110
111
|
* Sets the custom destination cache instance.
|
|
111
112
|
* Call this method with an instance of {@link DestinationCacheInterface} to override the default cache instance set by the SDK.
|
|
@@ -56,13 +56,13 @@ exports.DefaultDestinationCache = DefaultDestinationCache;
|
|
|
56
56
|
* @internal
|
|
57
57
|
*/
|
|
58
58
|
const DestinationCache = (cache = new DefaultDestinationCache(300000)) => ({
|
|
59
|
-
retrieveDestinationFromCache: async (
|
|
60
|
-
cacheRetrievedDestination: async (
|
|
61
|
-
cacheRetrievedDestination(
|
|
59
|
+
retrieveDestinationFromCache: async (token, name, isolation) => cache.get(getDestinationCacheKey(token, name, isolation)),
|
|
60
|
+
cacheRetrievedDestination: async (token, destination, isolation) => {
|
|
61
|
+
cacheRetrievedDestination(token, destination, isolation, cache);
|
|
62
62
|
},
|
|
63
|
-
cacheRetrievedDestinations: async (
|
|
64
|
-
retrievedDestinations.subaccount.forEach(dest => cacheRetrievedDestination(
|
|
65
|
-
retrievedDestinations.instance.forEach(dest => cacheRetrievedDestination(
|
|
63
|
+
cacheRetrievedDestinations: async (token, retrievedDestinations, isolation) => {
|
|
64
|
+
retrievedDestinations.subaccount.forEach(dest => cacheRetrievedDestination(token, dest, isolation, cache));
|
|
65
|
+
retrievedDestinations.instance.forEach(dest => cacheRetrievedDestination(token, dest, isolation, cache));
|
|
66
66
|
},
|
|
67
67
|
clear: async () => {
|
|
68
68
|
cache.clear();
|
|
@@ -71,7 +71,35 @@ const DestinationCache = (cache = new DefaultDestinationCache(300000)) => ({
|
|
|
71
71
|
});
|
|
72
72
|
exports.DestinationCache = DestinationCache;
|
|
73
73
|
/**
|
|
74
|
-
*
|
|
74
|
+
* Retrieve the token to use for tenant identification.
|
|
75
|
+
*
|
|
76
|
+
* For subscriber:
|
|
77
|
+
* If `iss` or XSUAA user JWT was passed, this is the `serviceJwt`.
|
|
78
|
+
* If a custom user JWT was passed, this is used.
|
|
79
|
+
*
|
|
80
|
+
* For provider: always use the token as passed.
|
|
81
|
+
* @param token - Either the subscriber JWTs or one provider JWT.
|
|
82
|
+
* @returns The decoded JWT to use for tenant identification.
|
|
83
|
+
*/
|
|
84
|
+
function getJwtForTenant(token) {
|
|
85
|
+
return token.serviceJwt?.decoded || token;
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Retrieve the token to use for user identification.
|
|
89
|
+
*
|
|
90
|
+
* For subscriber:
|
|
91
|
+
* If a user token was passed, this is used.
|
|
92
|
+
* If only `iss` was passed try to get the user from the service token.
|
|
93
|
+
*
|
|
94
|
+
* For provider: always use the token as passed.
|
|
95
|
+
* @param token - Either the subscriber JWTs or one provider JWT.
|
|
96
|
+
* @returns The decoded JWT to use for user identification.
|
|
97
|
+
*/
|
|
98
|
+
function getJwtForUser(token) {
|
|
99
|
+
return token.userJwt?.decoded || token;
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Calculates a cache key based on the JWT and destination name for the given isolation strategy.
|
|
75
103
|
* Cache keys for strategies are non-overlapping, i.e. using a cache key for strategy {@link 'tenant'}
|
|
76
104
|
* will not result in a cache hit for a destination that has been cached with strategy {@link 'tenant-user'}.
|
|
77
105
|
* @param decodedJwt - The decoded JWT of the current request.
|
|
@@ -80,12 +108,12 @@ exports.DestinationCache = DestinationCache;
|
|
|
80
108
|
* @returns The cache key.
|
|
81
109
|
* @internal
|
|
82
110
|
*/
|
|
83
|
-
function getDestinationCacheKey(
|
|
111
|
+
function getDestinationCacheKey(token, destinationName, isolationStrategy = 'tenant-user') {
|
|
84
112
|
if (isolationStrategy === 'tenant') {
|
|
85
|
-
return getTenantCacheKey(destinationName, (0, tenant_1.tenantId)(
|
|
113
|
+
return getTenantCacheKey(destinationName, (0, tenant_1.tenantId)(getJwtForTenant(token)));
|
|
86
114
|
}
|
|
87
115
|
if (isolationStrategy === 'tenant-user') {
|
|
88
|
-
return getTenantUserCacheKey(destinationName, (0, tenant_1.tenantId)(
|
|
116
|
+
return getTenantUserCacheKey(destinationName, (0, tenant_1.tenantId)(getJwtForTenant(token)), (0, user_1.userId)(getJwtForUser(token)));
|
|
89
117
|
}
|
|
90
118
|
logger.warn(`Could not build destination cache key. Isolation strategy '${isolationStrategy}' is not supported.`);
|
|
91
119
|
}
|
|
@@ -102,11 +130,11 @@ function getTenantUserCacheKey(destinationName, tenant, user) {
|
|
|
102
130
|
}
|
|
103
131
|
logger.warn("Could not build destination cache key. Isolation strategy 'tenant-user' is used, but tenant id or user id is undefined in JWT.");
|
|
104
132
|
}
|
|
105
|
-
async function cacheRetrievedDestination(
|
|
133
|
+
async function cacheRetrievedDestination(token, destination, isolation, cache) {
|
|
106
134
|
if (!destination.name) {
|
|
107
135
|
throw new Error('The destination name is undefined.');
|
|
108
136
|
}
|
|
109
|
-
const key = getDestinationCacheKey(
|
|
137
|
+
const key = getDestinationCacheKey(token, destination.name, isolation);
|
|
110
138
|
const expiresIn = (0, util_1.first)(destination.authTokens || [])?.expiresIn;
|
|
111
139
|
const expirationTime = expiresIn
|
|
112
140
|
? Date.now() + parseInt(expiresIn) * 1000
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"destination-cache.js","sourceRoot":"","sources":["../../../src/scp-cf/destination/destination-cache.ts"],"names":[],"mappings":";;;AAAA,8CAA0D;AAC1D,oCAA6C;AAC7C,sCAAqC;AACrC,kCAAiC;
|
|
1
|
+
{"version":3,"file":"destination-cache.js","sourceRoot":"","sources":["../../../src/scp-cf/destination/destination-cache.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,47 +1,8 @@
|
|
|
1
|
-
import { JwtPair } from '../jwt';
|
|
2
1
|
import { DestinationServiceCredentials } from '../environment-accessor-types';
|
|
2
|
+
import { JwtPair } from '../jwt';
|
|
3
|
+
import { DestinationFetchOptions } from './destination-accessor-types';
|
|
3
4
|
import { Destination } from './destination-service-types';
|
|
4
|
-
import {
|
|
5
|
-
/**
|
|
6
|
-
* When a destination is fetched from the SDK the user can pass different tokens.
|
|
7
|
-
* The token determines from which tenant the destination is obtained (provider or subscriber) and if it contains user information so that user propagation flows are possible.
|
|
8
|
-
* Possible types are: A user specific JWT issued by the XSUAA, a JWT from a custom IdP or only the `iss` property to get destinations from a different tenant.
|
|
9
|
-
* We name these tokens "subscriber tokens", because they are related to the subscriber account in contrast to the"provider account", where the application is running.
|
|
10
|
-
* The tenant defined in the subscriber token is the provider tenant for single tenant applications.
|
|
11
|
-
*/
|
|
12
|
-
type SubscriberToken = IssToken | XsuaaToken | CustomToken;
|
|
13
|
-
/**
|
|
14
|
-
* User provided a dummy token with the `iss` property.
|
|
15
|
-
* This is used if a tenant other than the provider tenant should be accessed but no user related login (JWT) is available for this tenant.
|
|
16
|
-
* Therefore, the `userJwt` is undefined and only a destination service token has been issued.
|
|
17
|
-
*/
|
|
18
|
-
interface IssToken {
|
|
19
|
-
type: 'iss';
|
|
20
|
-
userJwt: undefined;
|
|
21
|
-
serviceJwt: JwtPair;
|
|
22
|
-
}
|
|
23
|
-
/**
|
|
24
|
-
* User provided a token issued form the XSUAA.
|
|
25
|
-
* This token has the JKU properties to be verified by the SDK.
|
|
26
|
-
* The provided token is the userJwt containing the `zid` and `user_id` properties.
|
|
27
|
-
* The service token was derived from this token and is for the same tenant.
|
|
28
|
-
*/
|
|
29
|
-
interface XsuaaToken {
|
|
30
|
-
type: 'xsuaa';
|
|
31
|
-
userJwt: JwtPair;
|
|
32
|
-
serviceJwt: JwtPair;
|
|
33
|
-
}
|
|
34
|
-
/**
|
|
35
|
-
* User provided a token from a custom issuer (not XSUAA).
|
|
36
|
-
* Such a token can not be converted to a service token by the XSUAA.
|
|
37
|
-
* Therefore, the serviceJwt is undefined and the SDK does not do a token validation - the destination service does this based on jwks properties on the destination.
|
|
38
|
-
* For service calls the provider service token is used so this types works only for single tenant application.
|
|
39
|
-
*/
|
|
40
|
-
interface CustomToken {
|
|
41
|
-
type: 'custom';
|
|
42
|
-
userJwt: JwtPair;
|
|
43
|
-
serviceJwt: undefined;
|
|
44
|
-
}
|
|
5
|
+
import { SubscriberToken } from './get-subscriber-token';
|
|
45
6
|
/**
|
|
46
7
|
* Utility function to get destination service credentials, including error handling.
|
|
47
8
|
* @internal
|
|
@@ -63,8 +24,6 @@ export declare class DestinationFromServiceRetriever {
|
|
|
63
24
|
readonly subscriberToken: SubscriberToken | undefined;
|
|
64
25
|
readonly providerServiceToken: JwtPair;
|
|
65
26
|
static getDestinationFromDestinationService(options: DestinationFetchOptions): Promise<Destination | null>;
|
|
66
|
-
static getSubscriberToken(options: DestinationOptions): Promise<SubscriberToken | undefined>;
|
|
67
|
-
static getProviderServiceToken(options: DestinationOptions): Promise<JwtPair>;
|
|
68
27
|
private static throwUserTokenMissing;
|
|
69
28
|
private static checkDestinationForCustomJwt;
|
|
70
29
|
private static isUserJwt;
|
|
@@ -89,7 +48,6 @@ export declare class DestinationFromServiceRetriever {
|
|
|
89
48
|
private fetchDestinationWithUserExchangeFlows;
|
|
90
49
|
private fetchDestinationWithRefreshTokenFlow;
|
|
91
50
|
private addProxyConfiguration;
|
|
92
|
-
private selectSubscriberJwt;
|
|
93
51
|
private updateDestinationCache;
|
|
94
52
|
private getProviderDestinationService;
|
|
95
53
|
private getProviderDestinationCache;
|
|
@@ -101,4 +59,3 @@ export declare class DestinationFromServiceRetriever {
|
|
|
101
59
|
private searchSubscriberAccountForDestination;
|
|
102
60
|
private addTrustStoreConfiguration;
|
|
103
61
|
}
|
|
104
|
-
export {};
|
|
@@ -2,17 +2,18 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.DestinationFromServiceRetriever = exports.getDestinationFromDestinationService = exports.getDestinationServiceCredentials = void 0;
|
|
4
4
|
const util_1 = require("@sap-cloud-sdk/util");
|
|
5
|
-
const
|
|
6
|
-
const token_accessor_1 = require("../token-accessor");
|
|
5
|
+
const connectivity_service_1 = require("../connectivity-service");
|
|
7
6
|
const environment_accessor_1 = require("../environment-accessor");
|
|
8
|
-
const tenant_1 = require("../tenant");
|
|
9
7
|
const identity_service_1 = require("../identity-service");
|
|
8
|
+
const tenant_1 = require("../tenant");
|
|
9
|
+
const token_accessor_1 = require("../token-accessor");
|
|
10
10
|
const xsuaa_service_1 = require("../xsuaa-service");
|
|
11
|
-
const
|
|
12
|
-
const destination_service_types_1 = require("./destination-service-types");
|
|
11
|
+
const destination_cache_1 = require("./destination-cache");
|
|
13
12
|
const destination_selection_strategies_1 = require("./destination-selection-strategies");
|
|
14
13
|
const destination_service_1 = require("./destination-service");
|
|
15
|
-
const
|
|
14
|
+
const destination_service_types_1 = require("./destination-service-types");
|
|
15
|
+
const get_provider_token_1 = require("./get-provider-token");
|
|
16
|
+
const get_subscriber_token_1 = require("./get-subscriber-token");
|
|
16
17
|
const http_proxy_util_1 = require("./http-proxy-util");
|
|
17
18
|
const logger = (0, util_1.createLogger)({
|
|
18
19
|
package: 'connectivity',
|
|
@@ -28,7 +29,7 @@ const emptyDestinationByType = {
|
|
|
28
29
|
*/
|
|
29
30
|
function getDestinationServiceCredentials() {
|
|
30
31
|
const credentials = (0, environment_accessor_1.getDestinationServiceCredentialsList)();
|
|
31
|
-
if (!credentials
|
|
32
|
+
if (!credentials?.length) {
|
|
32
33
|
throw Error('No binding to a destination service instance found. Please bind a destination service instance to your application.');
|
|
33
34
|
}
|
|
34
35
|
if (credentials.length > 1) {
|
|
@@ -58,8 +59,8 @@ class DestinationFromServiceRetriever {
|
|
|
58
59
|
if ((0, identity_service_1.isTokenExchangeEnabled)(options)) {
|
|
59
60
|
options.jwt = await (0, identity_service_1.exchangeToken)(options);
|
|
60
61
|
}
|
|
61
|
-
const subscriberToken = await
|
|
62
|
-
const providerToken = await
|
|
62
|
+
const subscriberToken = await (0, get_subscriber_token_1.getSubscriberToken)(options);
|
|
63
|
+
const providerToken = await (0, get_provider_token_1.getProviderServiceToken)(options);
|
|
63
64
|
const da = new DestinationFromServiceRetriever(options, subscriberToken, providerToken);
|
|
64
65
|
const destinationResult = await da.searchDestinationWithSelectionStrategyAndCache();
|
|
65
66
|
if (!destinationResult) {
|
|
@@ -95,50 +96,6 @@ class DestinationFromServiceRetriever {
|
|
|
95
96
|
await da.updateDestinationCache(withTrustStore, destinationResult.origin);
|
|
96
97
|
return withTrustStore;
|
|
97
98
|
}
|
|
98
|
-
static async getSubscriberToken(options) {
|
|
99
|
-
if (options.jwt) {
|
|
100
|
-
if (options.iss) {
|
|
101
|
-
logger.warn('You have provided the `userJwt` and `iss` options to fetch the destination. This is most likely unintentional. Ignoring `iss`.');
|
|
102
|
-
}
|
|
103
|
-
if ((0, jwt_1.isXsuaaToken)((0, jwt_1.decodeJwtComplete)(options.jwt))) {
|
|
104
|
-
await (0, jwt_1.verifyJwt)(options.jwt, options);
|
|
105
|
-
const serviceJwtEncoded = await (0, token_accessor_1.serviceToken)('destination', {
|
|
106
|
-
...options,
|
|
107
|
-
jwt: options.jwt
|
|
108
|
-
});
|
|
109
|
-
return {
|
|
110
|
-
type: 'xsuaa',
|
|
111
|
-
userJwt: (0, jwt_1.getJwtPair)(options.jwt),
|
|
112
|
-
serviceJwt: (0, jwt_1.getJwtPair)(serviceJwtEncoded)
|
|
113
|
-
};
|
|
114
|
-
}
|
|
115
|
-
return {
|
|
116
|
-
type: 'custom',
|
|
117
|
-
userJwt: (0, jwt_1.getJwtPair)(options.jwt),
|
|
118
|
-
serviceJwt: undefined
|
|
119
|
-
};
|
|
120
|
-
}
|
|
121
|
-
if (options.iss) {
|
|
122
|
-
logger.debug('Using `iss` option to fetch a destination instead of a full JWT. No validation is performed.');
|
|
123
|
-
const serviceJwtEncoded = await (0, token_accessor_1.serviceToken)('destination', {
|
|
124
|
-
...options,
|
|
125
|
-
jwt: { iss: options.iss }
|
|
126
|
-
});
|
|
127
|
-
return {
|
|
128
|
-
type: 'iss',
|
|
129
|
-
userJwt: undefined,
|
|
130
|
-
serviceJwt: (0, jwt_1.getJwtPair)(serviceJwtEncoded)
|
|
131
|
-
};
|
|
132
|
-
}
|
|
133
|
-
}
|
|
134
|
-
static async getProviderServiceToken(options) {
|
|
135
|
-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
136
|
-
const { jwt, ...optionsWithoutJwt } = options;
|
|
137
|
-
const encoded = await (0, token_accessor_1.serviceToken)('destination', {
|
|
138
|
-
...optionsWithoutJwt
|
|
139
|
-
});
|
|
140
|
-
return { encoded, decoded: (0, jwt_1.decodeJwt)(encoded) };
|
|
141
|
-
}
|
|
142
99
|
static throwUserTokenMissing(destination) {
|
|
143
100
|
throw Error(`No user token (JWT) has been provided. This is strictly necessary for '${destination.authentication}'.`);
|
|
144
101
|
}
|
|
@@ -148,7 +105,7 @@ class DestinationFromServiceRetriever {
|
|
|
148
105
|
}
|
|
149
106
|
}
|
|
150
107
|
static isUserJwt(token) {
|
|
151
|
-
return !!token
|
|
108
|
+
return !!token?.userJwt;
|
|
152
109
|
}
|
|
153
110
|
constructor(options, subscriberToken, providerServiceToken) {
|
|
154
111
|
this.subscriberToken = subscriberToken;
|
|
@@ -237,22 +194,23 @@ Possible alternatives for such technical user authentication are BasicAuthentica
|
|
|
237
194
|
}
|
|
238
195
|
// 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
|
|
239
196
|
// Which is the same for: OAuth2UserTokenExchange, OAuth2JWTBearer and OAuth2SAMLBearerAssertion
|
|
240
|
-
// If
|
|
241
|
-
if (this.subscriberToken.
|
|
197
|
+
// If subscriber token does not include service JWT (aka. originally passed JWT was not an XSUAA JWT) enforce the JWKS properties are there - destination service would do that as well. https://help.sap.com/docs/CP_CONNECTIVITY/cca91383641e40ffbe03bdc78f00f681/d81e1683bd434823abf3ceefc4ff157f.html
|
|
198
|
+
if (!this.subscriberToken.serviceJwt) {
|
|
242
199
|
DestinationFromServiceRetriever.checkDestinationForCustomJwt(destination);
|
|
243
200
|
}
|
|
244
|
-
// Case 1 Destination in provider and
|
|
245
|
-
if (this.subscriberToken.
|
|
201
|
+
// Case 1 Destination in provider and JWT issued for provider account, but no custom JWT given -> no extra x-user-token header needed
|
|
202
|
+
if (this.subscriberToken.serviceJwt &&
|
|
246
203
|
(0, tenant_1.isIdenticalTenant)(this.subscriberToken.userJwt.decoded, this.providerServiceToken.decoded)) {
|
|
247
204
|
logger.debug(`UserExchange flow started without user exchange token for destination ${destinationName} of the provider account.`);
|
|
248
205
|
return {
|
|
249
206
|
authHeaderJwt: await (0, token_accessor_1.jwtBearerToken)(this.subscriberToken.userJwt.encoded, (0, environment_accessor_1.getDestinationService)())
|
|
250
207
|
};
|
|
251
208
|
}
|
|
252
|
-
// Case 2 Subscriber and provider account not the same OR custom
|
|
209
|
+
// Case 2 Subscriber and provider account not the same OR custom JWT -> x-user-token header passed to determine user and tenant in token service URL and service token to get the destination
|
|
253
210
|
const serviceJwt = origin === 'provider'
|
|
254
211
|
? this.providerServiceToken
|
|
255
|
-
: this.
|
|
212
|
+
: // TODO: What is the meaning of this? Why do we assume this is defined. Technically, it might not be.
|
|
213
|
+
this.subscriberToken.serviceJwt;
|
|
256
214
|
logger.debug(`UserExchange flow started for destination ${destinationName} of the ${origin} account.`);
|
|
257
215
|
return {
|
|
258
216
|
authHeaderJwt: serviceJwt.encoded,
|
|
@@ -292,9 +250,9 @@ Possible alternatives for such technical user authentication are BasicAuthentica
|
|
|
292
250
|
async addProxyConfiguration(destination) {
|
|
293
251
|
switch ((0, http_proxy_util_1.proxyStrategy)(destination)) {
|
|
294
252
|
case 'on-premise':
|
|
295
|
-
return (0, connectivity_service_1.addProxyConfigurationOnPrem)(destination, this.subscriberToken
|
|
296
|
-
? this.subscriberToken
|
|
297
|
-
:
|
|
253
|
+
return (0, connectivity_service_1.addProxyConfigurationOnPrem)(destination, (0, get_subscriber_token_1.hasTokens)(this.subscriberToken)
|
|
254
|
+
? (0, get_subscriber_token_1.getRequiredSubscriberToken)(this.subscriberToken)
|
|
255
|
+
: undefined);
|
|
298
256
|
case 'internet':
|
|
299
257
|
case 'private-link':
|
|
300
258
|
(0, destination_service_types_1.assertHttpDestination)(destination);
|
|
@@ -305,25 +263,12 @@ Possible alternatives for such technical user authentication are BasicAuthentica
|
|
|
305
263
|
throw new Error('Illegal argument: No valid proxy configuration found in the destination input to be added.');
|
|
306
264
|
}
|
|
307
265
|
}
|
|
308
|
-
selectSubscriberJwt() {
|
|
309
|
-
if (!this.subscriberToken) {
|
|
310
|
-
throw new Error('Try to get subscriber token but value is undefined.');
|
|
311
|
-
}
|
|
312
|
-
switch (this.subscriberToken.type) {
|
|
313
|
-
case 'custom':
|
|
314
|
-
return this.subscriberToken.userJwt.decoded;
|
|
315
|
-
case 'iss':
|
|
316
|
-
return this.subscriberToken.serviceJwt.decoded;
|
|
317
|
-
case 'xsuaa':
|
|
318
|
-
return this.subscriberToken.userJwt.decoded;
|
|
319
|
-
}
|
|
320
|
-
}
|
|
321
266
|
async updateDestinationCache(destination, destinationOrigin) {
|
|
322
267
|
if (!this.options.useCache) {
|
|
323
268
|
return destination;
|
|
324
269
|
}
|
|
325
270
|
await destination_cache_1.destinationCache.cacheRetrievedDestination(destinationOrigin === 'subscriber'
|
|
326
|
-
? this.
|
|
271
|
+
? (0, get_subscriber_token_1.getRequiredSubscriberToken)(this.subscriberToken)
|
|
327
272
|
: this.providerServiceToken.decoded, destination, this.options.isolationStrategy);
|
|
328
273
|
}
|
|
329
274
|
async getProviderDestinationService() {
|
|
@@ -347,8 +292,8 @@ Possible alternatives for such technical user authentication are BasicAuthentica
|
|
|
347
292
|
}
|
|
348
293
|
}
|
|
349
294
|
async getSubscriberDestinationService() {
|
|
350
|
-
if (!this.subscriberToken
|
|
351
|
-
throw new Error('Try to get destinations from subscriber account but
|
|
295
|
+
if (!this.subscriberToken?.serviceJwt) {
|
|
296
|
+
throw new Error('Try to get destinations from subscriber account but service JWT was not set.');
|
|
352
297
|
}
|
|
353
298
|
const subscriber = await this.getInstanceAndSubaccountDestinations(this.subscriberToken.serviceJwt.encoded);
|
|
354
299
|
const destination = this.options.selectionStrategy({
|
|
@@ -360,7 +305,7 @@ Possible alternatives for such technical user authentication are BasicAuthentica
|
|
|
360
305
|
}
|
|
361
306
|
}
|
|
362
307
|
async getSubscriberDestinationCache() {
|
|
363
|
-
const destination = await destination_cache_1.destinationCache.retrieveDestinationFromCache(this.
|
|
308
|
+
const destination = await destination_cache_1.destinationCache.retrieveDestinationFromCache((0, get_subscriber_token_1.getRequiredSubscriberToken)(this.subscriberToken), this.options.destinationName, this.options.isolationStrategy);
|
|
364
309
|
if (destination) {
|
|
365
310
|
return { destination, fromCache: true, origin: 'subscriber' };
|
|
366
311
|
}
|
|
@@ -379,7 +324,7 @@ Possible alternatives for such technical user authentication are BasicAuthentica
|
|
|
379
324
|
if (!this.subscriberToken) {
|
|
380
325
|
return false;
|
|
381
326
|
}
|
|
382
|
-
if (this.subscriberToken.
|
|
327
|
+
if (!this.subscriberToken.serviceJwt) {
|
|
383
328
|
return false;
|
|
384
329
|
}
|
|
385
330
|
if (this.options.selectionStrategy === destination_selection_strategies_1.alwaysProvider) {
|
|
@@ -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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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getProviderServiceToken = void 0;
|
|
4
|
+
const jwt_1 = require("../jwt");
|
|
5
|
+
const token_accessor_1 = require("../token-accessor");
|
|
6
|
+
/**
|
|
7
|
+
* @internal
|
|
8
|
+
*/
|
|
9
|
+
async function getProviderServiceToken(options) {
|
|
10
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
11
|
+
const { jwt, ...optionsWithoutJwt } = options;
|
|
12
|
+
const encoded = await (0, token_accessor_1.serviceToken)('destination', optionsWithoutJwt);
|
|
13
|
+
return { encoded, decoded: (0, jwt_1.decodeJwt)(encoded) };
|
|
14
|
+
}
|
|
15
|
+
exports.getProviderServiceToken = getProviderServiceToken;
|
|
16
|
+
//# sourceMappingURL=get-provider-token.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-provider-token.js","sourceRoot":"","sources":["../../../src/scp-cf/destination/get-provider-token.ts"],"names":[],"mappings":";;;AAAA,gCAA4C;AAC5C,sDAAiD;AAGjD;;GAEG;AACI,KAAK,UAAU,uBAAuB,CAC3C,OAA2B;IAE3B,6DAA6D;IAC7D,MAAM,EAAE,GAAG,EAAE,GAAG,iBAAiB,EAAE,GAAG,OAAO,CAAC;IAC9C,MAAM,OAAO,GAAG,MAAM,IAAA,6BAAY,EAAC,aAAa,EAAE,iBAAiB,CAAC,CAAC;IACrE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,IAAA,eAAS,EAAC,OAAO,CAAC,EAAE,CAAC;AAClD,CAAC;AAPD,0DAOC"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { JwtPair } from '../jwt';
|
|
2
|
+
import { DestinationOptions } from './destination-accessor-types';
|
|
3
|
+
/**
|
|
4
|
+
* @internal
|
|
5
|
+
* When a destination is fetched from the SDK the user can pass different tokens.
|
|
6
|
+
* The token determines from which tenant the destination is obtained (provider or subscriber) and if it contains user information so that user propagation flows are possible.
|
|
7
|
+
* Possible types are: A user specific JWT issued by the XSUAA, a JWT from a custom IdP or only the `iss` property to get destinations from a different tenant.
|
|
8
|
+
* We name these tokens "subscriber tokens", because they are related to the subscriber account in contrast to the "provider account", where the application is running.
|
|
9
|
+
* The tenant defined in the subscriber token is the provider tenant for single tenant applications.
|
|
10
|
+
*/
|
|
11
|
+
export interface SubscriberToken {
|
|
12
|
+
/**
|
|
13
|
+
* Token that represents the user.
|
|
14
|
+
*/
|
|
15
|
+
userJwt?: JwtPair;
|
|
16
|
+
/**
|
|
17
|
+
* Destination service token.
|
|
18
|
+
*/
|
|
19
|
+
serviceJwt?: JwtPair;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* @internal
|
|
23
|
+
* @param token - The token to check
|
|
24
|
+
* @returns Whether the given token is a subscriber token.
|
|
25
|
+
*/
|
|
26
|
+
export declare function isSubscriberToken(token: any): token is SubscriberToken;
|
|
27
|
+
/**
|
|
28
|
+
* @internal
|
|
29
|
+
*/
|
|
30
|
+
export declare function getSubscriberToken(options: DestinationOptions): Promise<SubscriberToken>;
|
|
31
|
+
/**
|
|
32
|
+
* @internal
|
|
33
|
+
* Get a subscriber token pair with required fields. Checks that at least one of the tokens exists and sets defaults if needed.
|
|
34
|
+
* @returns The decoded subscriber tokens.
|
|
35
|
+
*/
|
|
36
|
+
export declare function getRequiredSubscriberToken(token: SubscriberToken | undefined): Required<SubscriberToken>;
|
|
37
|
+
/**
|
|
38
|
+
* @internal
|
|
39
|
+
* Check whether the subscriber token has one of the tokens set
|
|
40
|
+
* @param token - Subscriber token pair to check
|
|
41
|
+
* @returns True if at least one of the tokens exist.
|
|
42
|
+
*/
|
|
43
|
+
export declare function hasTokens(token: SubscriberToken | undefined): boolean;
|
|
44
|
+
/**
|
|
45
|
+
* @internal
|
|
46
|
+
* Retrieve the token to use for tenant identification.
|
|
47
|
+
*
|
|
48
|
+
* If `iss` or XSUAA user JWT was passed, this is the `serviceJwt`.
|
|
49
|
+
* If a custom user JWT was passed, this is used.
|
|
50
|
+
* @param token - The subscriber token for service and user.
|
|
51
|
+
* @returns The decoded JWT to use for tenant identification.
|
|
52
|
+
*/
|
|
53
|
+
export declare function getJwtForTenant(token: Required<SubscriberToken>): JwtPair;
|
|
54
|
+
/**
|
|
55
|
+
* @internal
|
|
56
|
+
* Retrieve the token to use for user identification.
|
|
57
|
+
*
|
|
58
|
+
* If a user token was passed, this is used.
|
|
59
|
+
* If only `iss` was passed try to get the user from the service token.
|
|
60
|
+
* @param token - The subscriber token for service and user.
|
|
61
|
+
* @returns The decoded JWT to use for user identification.
|
|
62
|
+
*/
|
|
63
|
+
export declare function getJwtForUser(token: Required<SubscriberToken>): JwtPair;
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getJwtForUser = exports.getJwtForTenant = exports.hasTokens = exports.getRequiredSubscriberToken = exports.getSubscriberToken = exports.isSubscriberToken = void 0;
|
|
4
|
+
const util_1 = require("@sap-cloud-sdk/util");
|
|
5
|
+
const jwt_1 = require("../jwt");
|
|
6
|
+
const token_accessor_1 = require("../token-accessor");
|
|
7
|
+
const logger = (0, util_1.createLogger)({
|
|
8
|
+
package: 'connectivity',
|
|
9
|
+
messageContext: 'destination-accessor-service'
|
|
10
|
+
});
|
|
11
|
+
/**
|
|
12
|
+
* @internal
|
|
13
|
+
* @param token - The token to check
|
|
14
|
+
* @returns Whether the given token is a subscriber token.
|
|
15
|
+
*/
|
|
16
|
+
function isSubscriberToken(token) {
|
|
17
|
+
return token.userJwt || token.serviceJwt;
|
|
18
|
+
}
|
|
19
|
+
exports.isSubscriberToken = isSubscriberToken;
|
|
20
|
+
/**
|
|
21
|
+
* @internal
|
|
22
|
+
*/
|
|
23
|
+
async function getSubscriberToken(options) {
|
|
24
|
+
const isXsuaaJwt = !!options.jwt && (0, jwt_1.isXsuaaToken)((0, jwt_1.decodeJwtComplete)(options.jwt));
|
|
25
|
+
return {
|
|
26
|
+
userJwt: await retrieveUserToken(options, isXsuaaJwt),
|
|
27
|
+
serviceJwt: await retrieveServiceToken(options, isXsuaaJwt)
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
exports.getSubscriberToken = getSubscriberToken;
|
|
31
|
+
async function retrieveUserToken(options, isXsuaaJwt) {
|
|
32
|
+
if (options.jwt) {
|
|
33
|
+
if (!options.iss && isXsuaaJwt) {
|
|
34
|
+
await (0, jwt_1.verifyJwt)(options.jwt, options);
|
|
35
|
+
}
|
|
36
|
+
return (0, jwt_1.getJwtPair)(options.jwt);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
async function retrieveServiceToken(options, isXsuaaJwt) {
|
|
40
|
+
const jwt = getJwtForServiceToken(options, isXsuaaJwt);
|
|
41
|
+
if (jwt) {
|
|
42
|
+
return (0, jwt_1.getJwtPair)(await (0, token_accessor_1.serviceToken)('destination', {
|
|
43
|
+
...options,
|
|
44
|
+
jwt
|
|
45
|
+
}));
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
function getJwtForServiceToken(options, isXsuaaJwt) {
|
|
49
|
+
if (options.iss) {
|
|
50
|
+
logger.debug('Using `iss` option instead of a full JWT to fetch a destination. No validation is performed.');
|
|
51
|
+
return { iss: options.iss };
|
|
52
|
+
}
|
|
53
|
+
if (options.jwt && isXsuaaJwt) {
|
|
54
|
+
return options.jwt;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* @internal
|
|
59
|
+
* Get a subscriber token pair with required fields. Checks that at least one of the tokens exists and sets defaults if needed.
|
|
60
|
+
* @returns The decoded subscriber tokens.
|
|
61
|
+
*/
|
|
62
|
+
function getRequiredSubscriberToken(token) {
|
|
63
|
+
if (token) {
|
|
64
|
+
const { userJwt, serviceJwt } = token;
|
|
65
|
+
const requiredToken = {
|
|
66
|
+
userJwt: userJwt || serviceJwt,
|
|
67
|
+
serviceJwt: serviceJwt || userJwt
|
|
68
|
+
};
|
|
69
|
+
if (isRequired(requiredToken)) {
|
|
70
|
+
return requiredToken;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
throw new Error('Could not get subscriber token: Token value is undefined.');
|
|
74
|
+
}
|
|
75
|
+
exports.getRequiredSubscriberToken = getRequiredSubscriberToken;
|
|
76
|
+
/**
|
|
77
|
+
* Type guard to check whether a token has both `userJwt` and `serviceJwt` defined.
|
|
78
|
+
* @param token - Token to check.
|
|
79
|
+
* @returns Whether both tokens are defined.
|
|
80
|
+
*/
|
|
81
|
+
function isRequired(token) {
|
|
82
|
+
return !!(token?.userJwt && token.serviceJwt);
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* @internal
|
|
86
|
+
* Check whether the subscriber token has one of the tokens set
|
|
87
|
+
* @param token - Subscriber token pair to check
|
|
88
|
+
* @returns True if at least one of the tokens exist.
|
|
89
|
+
*/
|
|
90
|
+
function hasTokens(token) {
|
|
91
|
+
return !!token?.userJwt || !!token?.serviceJwt;
|
|
92
|
+
}
|
|
93
|
+
exports.hasTokens = hasTokens;
|
|
94
|
+
/**
|
|
95
|
+
* @internal
|
|
96
|
+
* Retrieve the token to use for tenant identification.
|
|
97
|
+
*
|
|
98
|
+
* If `iss` or XSUAA user JWT was passed, this is the `serviceJwt`.
|
|
99
|
+
* If a custom user JWT was passed, this is used.
|
|
100
|
+
* @param token - The subscriber token for service and user.
|
|
101
|
+
* @returns The decoded JWT to use for tenant identification.
|
|
102
|
+
*/
|
|
103
|
+
function getJwtForTenant(token) {
|
|
104
|
+
return token.serviceJwt;
|
|
105
|
+
}
|
|
106
|
+
exports.getJwtForTenant = getJwtForTenant;
|
|
107
|
+
/**
|
|
108
|
+
* @internal
|
|
109
|
+
* Retrieve the token to use for user identification.
|
|
110
|
+
*
|
|
111
|
+
* If a user token was passed, this is used.
|
|
112
|
+
* If only `iss` was passed try to get the user from the service token.
|
|
113
|
+
* @param token - The subscriber token for service and user.
|
|
114
|
+
* @returns The decoded JWT to use for user identification.
|
|
115
|
+
*/
|
|
116
|
+
function getJwtForUser(token) {
|
|
117
|
+
return token.userJwt;
|
|
118
|
+
}
|
|
119
|
+
exports.getJwtForUser = getJwtForUser;
|
|
120
|
+
//# sourceMappingURL=get-subscriber-token.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-subscriber-token.js","sourceRoot":"","sources":["../../../src/scp-cf/destination/get-subscriber-token.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,5 +10,7 @@ export * from './destination-service-cache';
|
|
|
10
10
|
export * from './destination-service-types';
|
|
11
11
|
export * from './destination-service';
|
|
12
12
|
export * from './destination';
|
|
13
|
+
export * from './get-subscriber-token';
|
|
14
|
+
export * from './get-provider-token';
|
|
13
15
|
export * from './http-proxy-util';
|
|
14
16
|
export * from './service-binding-to-destination';
|
|
@@ -26,6 +26,8 @@ __exportStar(require("./destination-service-cache"), exports);
|
|
|
26
26
|
__exportStar(require("./destination-service-types"), exports);
|
|
27
27
|
__exportStar(require("./destination-service"), exports);
|
|
28
28
|
__exportStar(require("./destination"), exports);
|
|
29
|
+
__exportStar(require("./get-subscriber-token"), exports);
|
|
30
|
+
__exportStar(require("./get-provider-token"), exports);
|
|
29
31
|
__exportStar(require("./http-proxy-util"), exports);
|
|
30
32
|
__exportStar(require("./service-binding-to-destination"), exports);
|
|
31
33
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/scp-cf/destination/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yDAAuC;AACvC,+DAA6C;AAC7C,sDAAoC;AACpC,yDAAuC;AACvC,6DAA2C;AAC3C,kEAAgD;AAChD,0DAAwC;AACxC,qEAAmD;AACnD,8DAA4C;AAC5C,8DAA4C;AAC5C,wDAAsC;AACtC,gDAA8B;AAC9B,oDAAkC;AAClC,mEAAiD"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/scp-cf/destination/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yDAAuC;AACvC,+DAA6C;AAC7C,sDAAoC;AACpC,yDAAuC;AACvC,6DAA2C;AAC3C,kEAAgD;AAChD,0DAAwC;AACxC,qEAAmD;AACnD,8DAA4C;AAC5C,8DAA4C;AAC5C,wDAAsC;AACtC,gDAA8B;AAC9B,yDAAuC;AACvC,uDAAqC;AACrC,oDAAkC;AAClC,mEAAiD"}
|
|
@@ -47,7 +47,7 @@ exports.exchangeToken = exchangeToken;
|
|
|
47
47
|
* @returns A boolean value, that indicates whether the token exchange should be applied.
|
|
48
48
|
*/
|
|
49
49
|
function isTokenExchangeEnabled(options) {
|
|
50
|
-
//
|
|
50
|
+
// iasToXsuaaTokenExchange is optional, token exchange is enabled by default
|
|
51
51
|
return options.iasToXsuaaTokenExchange !== false && !!options.jwt;
|
|
52
52
|
}
|
|
53
53
|
exports.isTokenExchangeEnabled = isTokenExchangeEnabled;
|
package/dist/scp-cf/jwt.js
CHANGED
|
@@ -117,10 +117,8 @@ function validateAuthHeader(header) {
|
|
|
117
117
|
* @internal
|
|
118
118
|
*/
|
|
119
119
|
async function verifyJwt(token, options) {
|
|
120
|
-
const disableCache = { ...defaultVerifyJwtOptions, ...options }
|
|
121
|
-
.cacheVerificationKeys
|
|
122
|
-
? false
|
|
123
|
-
: true;
|
|
120
|
+
const disableCache = !{ ...defaultVerifyJwtOptions, ...options }
|
|
121
|
+
.cacheVerificationKeys;
|
|
124
122
|
const credentials = (0, environment_accessor_1.getXsuaaServiceCredentials)(token);
|
|
125
123
|
const promise = new Promise((resolve, reject) => {
|
|
126
124
|
xssec.createSecurityContext(token, { disableCache, credentials }, function (error, securityContext, tokenInfo) {
|
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":"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
|
|
1
|
+
{"version":3,"file":"jwt.js","sourceRoot":"","sources":["../../src/scp-cf/jwt.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.
|
|
3
|
+
"version": "3.1.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,11 +37,11 @@
|
|
|
37
37
|
"readme": "ts-node ../../scripts/replace-common-readme.ts"
|
|
38
38
|
},
|
|
39
39
|
"dependencies": {
|
|
40
|
-
"@sap-cloud-sdk/util": "^3.
|
|
41
|
-
"@sap-cloud-sdk/resilience": "^3.
|
|
40
|
+
"@sap-cloud-sdk/util": "^3.1.0",
|
|
41
|
+
"@sap-cloud-sdk/resilience": "^3.1.0",
|
|
42
42
|
"@sap/xsenv": "^3.4.0",
|
|
43
43
|
"@sap/xssec": "^3.2.17",
|
|
44
|
-
"axios": "^1.3.
|
|
44
|
+
"axios": "^1.3.5",
|
|
45
45
|
"http-proxy-agent": "^5.0.0",
|
|
46
46
|
"https-proxy-agent": "^5.0.0",
|
|
47
47
|
"jsonwebtoken": "^9.0.0",
|
|
@@ -50,6 +50,6 @@
|
|
|
50
50
|
"devDependencies": {
|
|
51
51
|
"base64url": "^3.0.1",
|
|
52
52
|
"nock": "^13.3.0",
|
|
53
|
-
"typescript": "~
|
|
53
|
+
"typescript": "~5.0.3"
|
|
54
54
|
}
|
|
55
55
|
}
|